Public Types | Public Member Functions | Public Attributes | List of all members
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 31 of file OverriddenClusterParamsAlg.h.

Member Typedef Documentation

Definition at line 33 of file OverriddenClusterParamsAlg.h.

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 44 of file OverriddenClusterParamsAlg.h.

44 {}

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.

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

Definition at line 373 of file OverriddenClusterParamsAlg.h.

374  {
376  return *this;
377  }
template<>
MultiValue& cluster::details::MultiValue::operator= ( float  value)

Definition at line 388 of file OverriddenClusterParamsAlg.h.

389  {
390  float_value = value;
391  return *this;
392  }
template<>
MultiValue& cluster::details::MultiValue::operator= ( Measure_t  value)

Definition at line 403 of file OverriddenClusterParamsAlg.h.

404  {
406  return *this;
407  }

Member Data Documentation

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

Definition at line 37 of file OverriddenClusterParamsAlg.h.

Measure_t cluster::details::MultiValue::measure_value

Definition at line 36 of file OverriddenClusterParamsAlg.h.

size_t cluster::details::MultiValue::size_t_value

Definition at line 38 of file OverriddenClusterParamsAlg.h.


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