Helper class for access to an SDS Scaler Array.
More...
#include <sds.h>
|
SdsCodeType | Code () const |
| Return the SDS type code of the item being accessed. More...
|
|
unsigned long | Size () const |
| Return the number of elements in the array. More...
|
|
T const & | operator[] (const unsigned long index) const |
| SDS array subscript operator (const version) More...
|
|
T & | operator[] (const unsigned long index) |
| SDS array subscript operator (non-const version) More...
|
|
T * | DataAddressRW () |
| Access the data directly. More...
|
|
const T * | DataAddressRO () const |
| Access the data directly - read only. More...
|
|
template<typename T>
class SdsArrayAccessHelper< T >
Helper class for access to an SDS Scaler Array.
This is Data helper class for the ArrayAccess methods of the SdsId:: class. The main point here is to set up a releationship between an SDS data type and the relevant underlying Sds code - SdsCodeType of the SDS scalar array we wish to access. Once the relationship is set up (by creating an subclass using this template) and a call is made to SdsId::ArrayAccess(), then the methods of this class allow access to the data using the index operator.
- Warning
- The array index operator will throw an NoDataException exception if there is no data to access or a InvalidIndexException exception if the index for the data is invalid.
- See also
- SdsId::ArrayAccess
Various defined Instantiations of this template are provided - for each SDS code associated with the a scalar.
- See also
- SdsArrayChar
-
SdsArrayUbyte
-
SdsArrayByte
-
SdsArrayShort
-
SdsArrayUshort
-
SdsArrayINT32
-
SdsArrayUINT32
-
SdsArrayINT64
-
SdsArrayUINT64
-
SdsArrayFloat
-
SdsArrayDouble
Constructor - only available to sub-classes.
Construct an SdsArrayAccessHelper item. Only sub-classes can invoke this.
- Parameters
-
c | The SDS Code assoicated with the template type. |
Access the data directly - read only.
Returns the address of the raw data. The user is responsible for ensuring that any accesses are within the correct range - not more then Size() elements.
Access the data directly.
read/write.
Returns the address of the raw data. The user is responsible for ensuring that any accesses are within the correct range - not more then Size() elements.
SDS array subscript operator (const version)
Access the data using the subscript operator - the only way of getting at the data at the moment.
- Exceptions
-
- Parameters
-
- Returns
- A reference to the value.
SDS array subscript operator (non-const version)
Set/Access the data using the subscript operator - the only way of getting at the data at the moment.
- Exceptions
-
- Parameters
-
- Returns
- A reference to the value.
Return the number of elements in the array.
The documentation for this class was generated from the following file: