21#ifndef DATA_MANAGEMENT_DATA_IO_BASE_H
22#define DATA_MANAGEMENT_DATA_IO_BASE_H
25#if CLOCKWERK_ALLOW_VECTOR
122 template <
typename T>
typename std::enable_if<std::is_integral<T>::value>
::type _typeID(T var);
123 template <
typename T>
typename std::enable_if<std::is_floating_point<T>::value>
::type _typeID(T var);
124#if CLOCKWERK_ALLOW_VECTOR
125 template <
typename T>
void _typeID(std::vector<T> var);
127 template <
typename T,
long unsigned int N>
void _typeID(std::array<T, N> var);
129#if CLOCKWERK_ALLOW_STD_STRING
130 void _typeID(std::string &var);
167 template <
typename T>
169 template <
typename T>
171#if CLOCKWERK_ALLOW_VECTOR
172 template <
typename T>
175 template <
typename T,
long unsigned int N>
177 template <u
int32 R, u
int32 C>
DataIOBase()
Default constructor.
Definition DataIOBase.h:66
void * writePtr()
Function to write value to mapped location – root data or map.
Definition DataIOBase.cpp:20
virtual int16 syncExternal()
Synchronize DataIO to some external source – Socket, shared memory, etc.
Definition DataIOBase.h:71
void * read() const
Function to read value from mapped location – root data or map.
Definition DataIOBase.cpp:32
DataIOBase * _data
Definition DataIOBase.h:147
std::enable_if< std::is_integral< T >::value >::type _typeID(T var)
Overloaded functions to identify type held by DataIO.
Definition DataIOBase.h:168
bool writeAllowed()
Definition DataIOBase.h:80
void resetMap()
Definition DataIOBase.h:89
void blockWrite()
Definition DataIOBase.h:79
DataIOBase * dataSource()
Access the target to which the DataIO is mapped.
Definition DataIOBase.h:93
bool _root
Definition DataIOBase.h:159
virtual int dataSize()
Get the size of the core data held by the object.
Definition DataIOBase.h:75
uint8 dataType()
Function to return the type of data held by the DataIO.
Definition DataIOBase.h:105
virtual int16 getValueAsString(char *retval, size_t size)
Return the value held by the DataIO object as a string.
Definition DataIOBase.h:112
void allowWrite()
Functions to manipulate write permissions on DataIO object.
Definition DataIOBase.h:78
bool _writeAllowed
Definition DataIOBase.h:155
void mapTo(DataIOBase &data_source)
Function to map DataIO object to new upstream data source.
Definition DataIOBase.h:85
void * _data_ptr
Definition DataIOBase.h:151
~DataIOBase()
Definition DataIOBase.h:67
virtual int16 setValueFromString(const char *value)
Set the value held by the DataIO object from a string.
Definition DataIOBase.h:117
dataio_types_e _type_id
Definition DataIOBase.h:164
int8 _graph_tree_type
Variable to store graph tree object type.
Definition GraphTreeObject.h:270
GraphTreeObject(const char *gt_nme="", GraphTreeObject **storage_array=nullptr, uint32 storage_size=0)
Name-based constructor for GraphTreeObject which will have no children by default.
Definition GraphTreeObject.cpp:23
int8 type()
Function to indicate type – -1 by default unless implemented downstream.
Definition GraphTreeObject.h:143
Matrix math implementation.
Definition Matrix.hpp:55
Wrapper to manage and convert time as timespce.
Definition Time.h:53
#define ERROR_BUFFER_NOT_IMPLEMENTED
Variable to raise an error if an appropriate buffer is not in place.
Definition clockwerkerrors.h:126
Definition CircularBuffer.hpp:28
dataio_types_e
Definition DataIOBase.h:40
@ INTEGER
Definition DataIOBase.h:41
@ STD_STRING
Definition DataIOBase.h:48
@ VECTOR
Definition DataIOBase.h:43
@ ARRAY
Definition DataIOBase.h:44
@ MATRIX
Definition DataIOBase.h:45
@ TIME
Definition DataIOBase.h:51
@ GRAPH_TREE
Definition DataIOBase.h:46
@ UNDEFINED
Definition DataIOBase.h:49
@ FLOATING_POINT
Definition DataIOBase.h:42
@ C_STRING
Definition DataIOBase.h:50
@ POINTER
Definition DataIOBase.h:47
@ DATAIO
Definition GraphTreeObject.h:49