26 #include "../types/type_id_map.hpp"
27 #include "value_holder_interface.hpp"
78 T&
get_ref(std::reference_wrapper<T> &v) noexcept
const T & const_reference_type
const reference type
Definition: value_holder.hpp:162
T & reference_type
reference type
Definition: value_holder.hpp:142
get_reference_type< T >::reference_type as()
get reference
Definition: value_holder.hpp:240
check if type is reference
Definition: value_holder.hpp:110
virtual value_holder_interface * clone() const
clone holder instance
Definition: value_holder.hpp:216
const T & get_const_ref(const std::reference_wrapper< T > &v) noexcept
return const reference
Definition: value_holder.hpp:95
Definition: add_op.hpp:29
T value_type
original reference type
Definition: value_holder.hpp:140
get_reference_type< T >::value_type as() const
return value
Definition: value_holder.hpp:229
get original type of reference
Definition: value_holder.hpp:137
virtual type_id_t type_id() const noexcept
get type id of data
Definition: value_holder.hpp:204
value_holder(T v)
constructor
Definition: value_holder.hpp:195
abstract interface for data holder
Definition: value_holder_interface.hpp:39
const T & const_reference_type
const reference type
Definition: value_holder.hpp:144
implementation of the holder interface
Definition: value_holder.hpp:174
map from a type to type_id
Definition: type_id_map.hpp:55
T value_type
original reference type
Definition: value_holder.hpp:158
T & get_ref(std::reference_wrapper< T > &v) noexcept
return reference
Definition: value_holder.hpp:78
virtual bool holds_reference() const
check if holder stores a reference
Definition: value_holder.hpp:251
type_id_t
type codes for PNI data types
Definition: types/types.hpp:148
T _value
the data value
Definition: value_holder.hpp:177
type erasure for POD data
Definition: value.hpp:46
value_holder()
Definition: value_holder.hpp:184
T & reference_type
reference type
Definition: value_holder.hpp:160