Struct Variable
Defined in File Variable.h
Struct Documentation
-
struct Variable
Common variable definition type Used internally by AgentData and MessageData
Public Functions
-
template<typename T>
inline Variable(unsigned int _elements, const T) Constructs a new variable
Note
Cannot explicitly specify template args of constructor, so we take redundant arg for implicit template
Note
This constructor does not set default value
- Parameters:
_elements – The number of elements, this will be 1 unless the variable is an array
T – Any variable of the type for template argument T, the value of the variable is not used
- Template Parameters:
T – The type of the variable, it’s size and std::type_index are derived from this
-
template<typename T, std::size_t N>
inline explicit Variable(const std::array<T, N> &_default_value) Constructs a new variable
- Parameters:
_default_value – The default value to be used for the variable
- Template Parameters:
T – The type of the variable, it’s size and std::type_index are derived from this
N – The number of elements, this will be 1 unless the variable is an array
-
template<typename T>
inline explicit Variable(const unsigned int N, const std::vector<T> &_default_value) Constructs a new variable
- Parameters:
_default_value – The default value to be used for the variable
N – The number of elements, this will be 1 unless the variable is an array
- Template Parameters:
T – The type of the variable, it’s size and std::type_index are derived from this
-
inline ~Variable()
Destructor, frees memory
Public Members
-
const std::type_index type
Unique identifier of the variables type as returned by std::type_index(typeid())
-
const size_t type_size
Size of the type in bytes as returned by sizeof() (e.g. float == 4 bytes)
-
const unsigned int elements
The number of elements, this will be 1 unless the variable is an array
-
const std::unique_ptr<detail::GenericMemoryVector> memory_vector
Holds the variables memory vector type so we can dynamically create them with clone()
-
void *const default_value
Default value for new agents
-
template<typename T>