28 #include "../error/exceptions.hpp"
29 #include "../types/types.hpp"
30 #include "../arrays.hpp"
31 #include "value_holder.hpp"
33 #include "../types/traits.hpp"
53 using enable_primitive = std::enable_if<is_primitive_type<T>::value>;
75 return get_value<T,S>(get_holder_ptr<S>(
_ptr));
94 void _set(
const T& v)
const
96 return set_value<S,T>(get_holder_ptr<S>(
_ptr),v);
117 typename =
typename enable_primitive<T>::type
170 template<
typename T> T
as()
const;
240 "Value is of unkonw type!");
32Bit IEEE floating point
std::unique_ptr< value_holder_interface > pointer_type
internal pointer type
Definition: value.hpp:50
#define EXCEPTION_RECORD
macro creating an instance of ExceptionRecord
Definition: exceptions.hpp:48
void _set(const T &v) const
set value
Definition: value.hpp:94
data type error
Definition: exceptions.hpp:544
T _get() const
return value
Definition: value.hpp:73
128Bit IEEE floating point complex
type_id_t type_id() const
get type id
64Bit IEEE floating point
Definition: add_op.hpp:29
implementation of the holder interface
Definition: value_holder.hpp:174
32Bit IEEE floating point complex
128Bit IEEE floating point
value make_value(type_id_t tid)
create value
value & operator=(const VT &v)
copy assignment from value
Definition: value.hpp:215
type_id_t type_id(const value &rv)
get type ID
type_id_t
type codes for PNI data types
Definition: types/types.hpp:148
64Bit IEEE floating point complex
type erasure for references to POD data
Definition: value_ref.hpp:43
type erasure for POD data
Definition: value.hpp:46
value()
default constructor
pointer_type _ptr
pointer holding the value stored
Definition: value.hpp:100
value(T v)
template constructor from value
Definition: value.hpp:119
T as() const
get the stored value
Definition: value.hpp:185