Project
Loading...
Searching...
No Matches
o2::framework::Variant Class Reference

Variant for configuration parameter storage. Owns stored data. More...

#include <Variant.h>

Public Member Functions

 Variant (VariantType type=VariantType::Unknown)
 
template<typename T >
 Variant (T value)
 
template<typename T >
 Variant (T values, size_t size)
 
template<typename T >
 Variant (std::vector< T > &values)
 
 Variant (std::vector< std::string > &values)
 
template<typename T >
 Variant (std::initializer_list< T >)
 
 Variant (const Variant &other)
 
 Variant (Variant &&other) noexcept
 
 ~Variant ()
 
Variantoperator= (const Variant &other)
 
Variantoperator= (Variant &&other) noexcept
 
template<typename T >
Variantoperator= (std::vector< T > &&other) noexcept
 
template<typename T >
get () const
 
template<typename T >
void set (T value)
 
template<typename T >
void set (T value, size_t size)
 
template<typename T >
requires (std::is_pod_v<T>)
void set (std::vector< T > &values)
 
template<typename T >
requires (std::is_same_v<T, std::string>)
void set (std::vector< T > &values)
 
VariantType type () const
 
size_t size () const
 
std::string asString () const
 

Friends

std::ostream & operator<< (std::ostream &oss, Variant const &val)
 

Detailed Description

Variant for configuration parameter storage. Owns stored data.

Definition at line 306 of file Variant.h.

Constructor & Destructor Documentation

◆ Variant() [1/8]

o2::framework::Variant::Variant ( VariantType  type = VariantType::Unknown)
inline

Definition at line 309 of file Variant.h.

◆ Variant() [2/8]

template<typename T >
o2::framework::Variant::Variant ( value)
inline

Definition at line 312 of file Variant.h.

◆ Variant() [3/8]

template<typename T >
o2::framework::Variant::Variant ( values,
size_t  size 
)
inline

Definition at line 318 of file Variant.h.

◆ Variant() [4/8]

template<typename T >
o2::framework::Variant::Variant ( std::vector< T > &  values)
inline

Definition at line 324 of file Variant.h.

◆ Variant() [5/8]

o2::framework::Variant::Variant ( std::vector< std::string > &  values)
inline

Definition at line 329 of file Variant.h.

◆ Variant() [6/8]

template<typename T >
o2::framework::Variant::Variant ( std::initializer_list< T >  )
inline

Definition at line 335 of file Variant.h.

◆ Variant() [7/8]

o2::framework::Variant::Variant ( const Variant other)

Definition at line 87 of file Variant.cxx.

◆ Variant() [8/8]

o2::framework::Variant::Variant ( Variant &&  other)
noexcept

Definition at line 122 of file Variant.cxx.

◆ ~Variant()

o2::framework::Variant::~Variant ( )

Definition at line 149 of file Variant.cxx.

Member Function Documentation

◆ asString()

std::string o2::framework::Variant::asString ( ) const

Definition at line 80 of file Variant.cxx.

◆ get()

template<typename T >
T o2::framework::Variant::get ( ) const
inline

Definition at line 355 of file Variant.h.

◆ operator=() [1/3]

Variant & o2::framework::Variant::operator= ( const Variant other)

Definition at line 169 of file Variant.cxx.

◆ operator=() [2/3]

template<typename T >
Variant & o2::framework::Variant::operator= ( std::vector< T > &&  other)
inlinenoexcept

Definition at line 348 of file Variant.h.

◆ operator=() [3/3]

Variant & o2::framework::Variant::operator= ( Variant &&  other)
noexcept

Definition at line 198 of file Variant.cxx.

◆ set() [1/4]

template<typename T >
requires (std::is_pod_v<T>)
void o2::framework::Variant::set ( std::vector< T > &  values)
inline

Definition at line 377 of file Variant.h.

◆ set() [2/4]

template<typename T >
requires (std::is_same_v<T, std::string>)
void o2::framework::Variant::set ( std::vector< T > &  values)
inline

Definition at line 384 of file Variant.h.

◆ set() [3/4]

template<typename T >
void o2::framework::Variant::set ( value)
inline

Definition at line 364 of file Variant.h.

◆ set() [4/4]

template<typename T >
void o2::framework::Variant::set ( value,
size_t  size 
)
inline

Definition at line 370 of file Variant.h.

◆ size()

size_t o2::framework::Variant::size ( ) const
inline

Definition at line 391 of file Variant.h.

◆ type()

VariantType o2::framework::Variant::type ( ) const
inline

Definition at line 390 of file Variant.h.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  oss,
Variant const &  val 
)
friend

Definition at line 19 of file Variant.cxx.


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