LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
cluster::details::MultiValue Class Reference

Class holding a value of one among some selected types... More...

#include "OverriddenClusterParamsAlg.h"

Public Types

using Measure_t = cluster::details::Measure_t< float >
 

Public Member Functions

 MultiValue ()
 
template<typename T >
MultiValueoperator= (T)
 Sets the value from a value of type T; undefined by default. More...
 
template<typename T >
 operator T () const
 Converts the value to type T; undefined by default. More...
 
template<>
MultiValueoperator= (size_t value)
 
template<>
MultiValueoperator= (float value)
 
template<>
MultiValueoperator= (Measure_t value)
 

Public Attributes

union {
   Measure_t   measure_value
 
   float   float_value
 
   size_t   size_t_value
 
}; 
 

Detailed Description

Class holding a value of one among some selected types...

FIXME: If this functionality is necessary, it should be replaced with std::variant.

Definition at line 30 of file OverriddenClusterParamsAlg.h.

Member Typedef Documentation

Constructor & Destructor Documentation

cluster::details::MultiValue::MultiValue ( )
inline

Default constructor; it's here only to allow for vectors to be resized and its effect is undefined. This class is not to be considered valid until it's assigned a value with the operator= .

Definition at line 43 of file OverriddenClusterParamsAlg.h.

References operator=().

43 {}

Member Function Documentation

template<typename T >
cluster::details::MultiValue::operator T ( ) const

Converts the value to type T; undefined by default.

template<typename T >
MultiValue& cluster::details::MultiValue::operator= ( )

Sets the value from a value of type T; undefined by default.

Referenced by MultiValue().

template<>
MultiValue& cluster::details::MultiValue::operator= ( size_t  value)

Definition at line 330 of file OverriddenClusterParamsAlg.h.

References size_t_value, and value.

331  {
333  return *this;
334  }
double value
Definition: spectrum.C:18
template<>
MultiValue& cluster::details::MultiValue::operator= ( float  value)

Definition at line 344 of file OverriddenClusterParamsAlg.h.

References float_value, and value.

345  {
346  float_value = value;
347  return *this;
348  }
double value
Definition: spectrum.C:18
template<>
MultiValue& cluster::details::MultiValue::operator= ( Measure_t  value)

Definition at line 358 of file OverriddenClusterParamsAlg.h.

References measure_value, and value.

359  {
361  return *this;
362  }
double value
Definition: spectrum.C:18

Member Data Documentation

union { ... }
float cluster::details::MultiValue::float_value

Definition at line 36 of file OverriddenClusterParamsAlg.h.

Referenced by operator=().

Measure_t cluster::details::MultiValue::measure_value

Definition at line 35 of file OverriddenClusterParamsAlg.h.

Referenced by operator=().

size_t cluster::details::MultiValue::size_t_value

Definition at line 37 of file OverriddenClusterParamsAlg.h.

Referenced by operator=().


The documentation for this class was generated from the following file: