33#include <NDEVR/BaseValues.h>
34#include <NDEVR/Vector.h>
35#include <NDEVR/ObjectInfo.h>
36#include <NDEVR/TypeInfo.h>
37#include <NDEVR/Angle.h>
40 template<
class t_type_a,
class t_type_b>
41 void assign(t_type_a& a,
const t_type_b& b)
45 template<
class t_type_a>
46 void assign(t_type_a& a,
const t_type_a& b)
50 template<u
int01 t_dim_a,
class t_type_a, u
int01 t_dim_b,
class t_type_b>
53 a = b.template as<t_dim_a, t_type_a>();
55 template<
class t_type_a, u
int01 t_dim_b,
class t_type_b>
60 template<
class t_type_a>
61 void assign(t_type_a& a,
const char* b)
66 template<u
int01 t_dim_a,
class t_type_a, u
int01 t_dim_b,
class t_type_b>
72 template<
class t_type_a, u
int01 t_dim_b,
class t_type_b>
101 template<
class t_type>
103 : m_pointer(reinterpret_cast<
t_pointer*>(&value))
107 template<
class t_
object_type>
117 : m_pointer(reference.m_pointer)
119 memcpy(m_bits, reference.m_bits,
sizeof(m_bits));
122 template<
class t_type>
123 constexpr void set(
const t_type& value)
125 m_flag(m_bits, value);
127 template<
class t_type>
137 template<
class t_type>
142 template<
class t_type>
147 template<
class t_type>
148 constexpr operator t_type()
const
152 template<
class t_type>
159 template<
class t_type>
167 template<
class t_type>
170 if (m_bits[level].is_number)
172 if (m_bits[level].is_unsigned)
174 switch (m_bits[level].byte_size)
184 if (m_bits[level].is_float)
186 switch (m_bits[level].byte_size)
194 switch (m_bits[level].byte_size)
204 else if (m_bits[level].is_string)
#define lib_assert(expression, message)
Asserts some logic in the code. Disabled in non debug mode by default. Can be re-enabled in release u...
Definition LibAssert.h:70
Stores an angle in an optimized format.
Definition StringStream.h:352
uint02 vector_size
Definition TypeInfo.h:55
Definition VariableReference.h:99
t_type get() const
Definition VariableReference.h:153
constexpr VariableReference & operator=(const t_type &b)
Definition VariableReference.h:128
constexpr bool operator==(const t_type &b) const
Definition VariableReference.h:138
void fillInfoTable(const ObjectInfo< t_object_type > &, uint01 level)
Definition VariableReference.h:108
constexpr VariableReference(t_type &value)
Definition VariableReference.h:102
constexpr bool operator!=(const t_type &b) const
Definition VariableReference.h:143
constexpr VariableReference & operator=(const VariableReference &)
Definition VariableReference.h:133
constexpr void set(const t_type &value)
Definition VariableReference.h:123
void get(t_type &value, uint04 level, uint04 index) const
Definition VariableReference.h:160
void getSingle(t_type &value, uint04 level, uint04 index) const
Definition VariableReference.h:168
VariableReference(const VariableReference &reference)
Definition VariableReference.h:116
An element of a vector space. An element of the real coordinate space Rn Basis vector,...
Definition Vector.hpp:62
int32_t sint04
-Defines an alias representing a 4 byte, signed integer. -Can represent exact integer values -2147483...
Definition BaseValues.hpp:76
constexpr std::enable_if<!ObjectInfo< t_type >::Buffer, TypeInfo >::type GetTypeInfo()
Definition TypeInfo.h:99
int64_t sint08
-Defines an alias representing an 8 byte, signed integer -Can represent exact integer values -9223372...
Definition BaseValues.hpp:86
float fltp04
Defines an alias representing a 4 byte floating-point number.
Definition BaseValues.hpp:157
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:98
int8_t sint01
-Defines an alias representing a 1 byte, signed integer. -Can represent exact integer values -127 thr...
Definition BaseValues.hpp:56
int16_t sint02
-Defines an alias representing a 2 byte, signed integer. -Can represent exact integer values -32767 t...
Definition BaseValues.hpp:66
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer -Can represent exact integer values 0 thro...
Definition BaseValues.hpp:132
void assign(String &a, const t_type_b &b)
Definition String.h:480
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120
constexpr t_to cast(const Angle< t_from > &value)
Definition Angle.h:514
uint16_t uint02
-Defines an alias representing a 2 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:109
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:181
Information about the object.
Definition ObjectInfo.h:56
Definition VariableReference.h:80
sint04 * _sint04
Definition VariableReference.h:88
uint04 * _uint04
Definition VariableReference.h:83
uint02 * _uint02
Definition VariableReference.h:82
sint01 * _sint01
Definition VariableReference.h:86
fltp08 * _fltp08
Definition VariableReference.h:92
Angle< sint04 > * _angles8
Definition VariableReference.h:94
Angle< fltp08 > * _anglef8
Definition VariableReference.h:95
uint01 * _uint01
Definition VariableReference.h:81
uint08 * _uint08
Definition VariableReference.h:84
sint08 * _sint08
Definition VariableReference.h:89
char * _char
Definition VariableReference.h:96
fltp04 * _fltp04
Definition VariableReference.h:91
sint02 * _sint02
Definition VariableReference.h:87