fesa-core
4.3.1
|
Field template class for 2D arrays of various numeric types and structure types. More...
#include <FieldArray2D.h>
Public Types | |
typedef T | value_type |
data type stored in the field array2D | |
Public Member Functions | |
FieldArray2D (const FieldConfig &fieldConfig, DataStore *pDataStore, std::size_t size1, std::size_t size2) | |
Constructor. More... | |
~FieldArray2D () | |
destructor | |
void | getMaxSize (uint32_t &size1, uint32_t &size2) const |
retrieve the size of the array More... | |
Public Member Functions inherited from fesa::AbstractField | |
virtual | ~AbstractField () |
destructor | |
AbstractMultiplexingManager * | getMultiplexingManager () |
uint32_t | getMuxDepth () const |
bool | isMultiplexed () const |
const std::string & | getName () const |
FieldCategory | getType () const |
bool | isPersistent () const |
bool | isShared () const |
virtual std::string | getAsString (const MultiplexingContext *context) const =0 |
Method to retrieve the value of the field converted to string. More... | |
std::string | getAttributeAsStringByName (const std::string &attribute, MultiplexingContext *context=NULL) |
Method to retrieve the struct attribute value converted to string. More... | |
Protected Member Functions | |||
void | initializeDimensions (const boost::shared_ptr< FieldElement > &fieldElement) | ||
used to initialize dimensions of the field from the instance document More... | |||
std::size_t | getFieldValueSize () const | ||
Method to get the size of the field-value object. The template of the field-value class depends on the field type. More... | |||
void | setFieldValueAddress (char *pFV, bool initFieldsFlag) | ||
Maps an address in shared memory or on the heap to the field value member of the field class. More... | |||
void | checkMaxDimensions (std::size_t size1, std::size_t size2) const | ||
this method checks whether the two dimensions passed by parameter are within the max dimensions of the array throwing an exception if they are not
| |||
void | checkIndexBounds (const FieldValueArray2D< T > &fieldValue, std::size_t index1, std::size_t index2) const | ||
FieldValueArray2D< T > * | getFieldValue (int32_t slot) | ||
Get the field's value for a given slot. More... | |||
void | copyValue (uint32_t slot, const std::string &str) | ||
this method puts in the slot the value passed by parameter in the corresponding format More... | |||
void | getValueToStore (int32_t slot, std::string &value) const | ||
void | setFieldValue (FieldValueArray2D< T > &fieldValue, const T *val, std::size_t size1, std::size_t size2) | ||
void | setRowValue (FieldValueArray2D< T > &fieldValue, const T *val, uint32_t index, std::size_t count) | ||
void | setColumnValue (FieldValueArray2D< T > &fieldValue, const T *val, uint32_t index, std::size_t count) | ||
void | copyColumn (const FieldValueArray2D< T > &fieldValue, uint32_t index, std::size_t size, T *dest, std::size_t ¤tSize) const | ||
const T * | getRowPointer (const FieldValueArray2D< T > &fieldValue, uint32_t index, std::size_t ¤tSize) const | ||
void | setCellValue (FieldValueArray2D< T > &fieldValue, const T &val, std::size_t index1, std::size_t index2) | ||
const T & | getCellRef (const FieldValueArray2D< T > &fieldValue, std::size_t index1, std::size_t index2) const | ||
Protected Member Functions inherited from fesa::AbstractField | |||
virtual void | initializeDefaultValue (const std::string &value) | ||
Initialize the default value with a value provided in the instantiation file. More... | |||
void | setMultiplexingManager (AbstractMultiplexingManager *muxManager) | ||
changes the multiplexing manager of the field. More... | |||
void | setDataIntegrity (DataIntegrity dataIntegrity) | ||
changes the data integrity value of the field | |||
void | restore (const PersistanceFieldElement &fieldElement) | ||
gives the value to the field from the field element This method should be used to populate the fields at instantiation More... | |||
void | store (PersistanceFieldElement &fieldElement) | ||
Used to persist fields. More... | |||
AbstractField (const FieldConfig &fieldConfig, DataStore *dataStore) | |||
Constructor. More... | |||
template<typename T > | |||
T * | getSlotPointer (void *baseAddress, std::size_t slot) | ||
template<typename T > | |||
const T * | getSlotPointer (const void *baseAddress, std::size_t slot) const | ||
virtual void | getAttributeValueToStore (int32_t slot, const std::string &attribute, std::string &str) | ||
template<typename T > | |||
void | validateValue (const T &value) const | ||
template<typename T > | |||
void | validateValues (const T *values, const std::size_t count) const | ||
void | setMultiplexed (bool multiplexed) | ||
changes the multiplexing status | |||
Protected Attributes | |
std::size_t | maxSize1_ |
maximum size of first dimension of the array | |
std::size_t | maxSize2_ |
maximum size of second dimension of the array | |
FieldValueArray2D< T > * | fieldValue_ |
value of the field | |
Protected Attributes inherited from fesa::AbstractField | |
std::string | name_ |
name of the field | |
FieldCategory | fieldCategory_ |
category of the field (Acquisition, Generic, Setting or Configuration) | |
bool | multiplexed_ |
true if the field is multiplexed | |
bool | shared_ |
flag that indicates whether field is shared byt RT and Server | |
bool | persistent_ |
flag that indicates whether field is persistent | |
DataIntegrity | buffer_ |
type of buffer of the field | |
AbstractMultiplexingManager * | multiplexingManager_ |
multiplexing manager of the field | |
DataStore * | dataStore_ |
The data store this field belongs to. | |
std::size_t | valueSize_ |
size of the value | |
Additional Inherited Members | |
Static Public Attributes inherited from fesa::AbstractField | |
static const std::size_t | INVALID_SIZE = std::numeric_limits<std::size_t>::max() |
Field template class for 2D arrays of various numeric types and structure types.
fesa::FieldArray2D< T >::FieldArray2D | ( | const FieldConfig & | fieldConfig, |
DataStore * | pDataStore, | ||
std::size_t | size1, | ||
std::size_t | size2 | ||
) |
Constructor.
name | of the field, field category, multiplexing criterion, pointer to DataStore |
|
protected |
Ensures that index1 and index2 are within the current size of the given fieldValue.
FesaException | if either of the indexes are out of bounds. |
|
protected |
Copies fieldValue's column at the given index to the destination buffer.
fieldValue | the source fieldValue | |
index | index of the column to copy from | |
size | number of values to copy | |
dest | destination buffer | |
[out] | currentSize | current number of values at the given column |
|
protectedvirtual |
this method puts in the slot the value passed by parameter in the corresponding format
slot | to put the value |
val | value to put |
Implements fesa::AbstractField.
|
protected |
Returns a reference to the fieldValue's cell at the given indexes.
|
protectedvirtual |
Get the field's value for a given slot.
slot | The slot to get the field's value from |
Implements fesa::AbstractField.
|
protectedvirtual |
Method to get the size of the field-value object. The template of the field-value class depends on the field type.
Implements fesa::AbstractField.
void fesa::FieldArray2D< T >::getMaxSize | ( | uint32_t & | size1, |
uint32_t & | size2 | ||
) | const |
retrieve the size of the array
[out] | size1 | first dimension of the array (row) |
[out] | size2 | second dimension of the array (column) |
|
protected |
Returns a pointer to the fieldValue's row at the given index.
fieldValue | the fieldValue | |
index | the row index | |
[out] | currentSize | current number of values at the given row |
|
protectedvirtual |
Implements fesa::AbstractField.
|
protectedvirtual |
used to initialize dimensions of the field from the instance document
fieldElement | that contains the values for the field |
Reimplemented from fesa::AbstractField.
|
protected |
Copies val to the fieldValue's cell at the given indexes.
|
protected |
Copies the given values to the fieldValue's column at the given index.
fieldValue | the destination fieldValue |
val | values to copy |
count | number of values to copy |
|
protected |
Copies the given values to the fieldValue.
fieldValue | the destination fieldValue |
val | matrix of values to copy |
size1 | number of rows |
size2 | number of columns |
|
protectedvirtual |
Maps an address in shared memory or on the heap to the field value member of the field class.
pFV | pointer to a field value. |
Implements fesa::AbstractField.
|
protected |
Copies the given values to the fieldValue's row at the given index.
fieldValue | the destination fieldValue |
val | values to copy |
count | number of values to copy |