F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Fw::ExternalArray< T > Class Template Referencefinal

#include <Fw/DataStructures/ExternalArray.hpp>

Public Member Functions

 ExternalArray ()
 Zero-argument constructor. More...
 
 ExternalArray (T *elements, FwSizeType size)
 
 ExternalArray (ByteArray data, FwSizeType size)
 
 ExternalArray (const ExternalArray< T > &a)
 Copy constructor. More...
 
 ~ExternalArray ()
 Destructor. More...
 
T & operator[] (const FwSizeType i)
 
const T & operator[] (const FwSizeType i) const
 
ExternalArray< T > & operator= (const ExternalArray< T > &a)
 
void copyDataFrom (const ExternalArray< T > &a)
 Copy the data from a. More...
 
T * getElements ()
 
const T * getElements () const
 
FwSizeType getSize () const
 
void setStorage (T *elements, FwSizeType size)
 Set the backing storage (typed data) More...
 
void setStorage (ByteArray data, FwSizeType size)
 

Static Public Member Functions

static constexpr U8 getByteArrayAlignment ()
 
static constexpr FwSizeType getByteArraySize (FwSizeType size)
 

Detailed Description

template<typename T>
class Fw::ExternalArray< T >

Definition at line 21 of file ExternalArray.hpp.

Constructor & Destructor Documentation

◆ ExternalArray() [1/4]

template<typename T>
Fw::ExternalArray< T >::ExternalArray ( )
inline

Zero-argument constructor.

Definition at line 34 of file ExternalArray.hpp.

◆ ExternalArray() [2/4]

template<typename T>
Fw::ExternalArray< T >::ExternalArray ( T *  elements,
FwSizeType  size 
)
inline

Constructor providing typed backing storage. elements must point to at least size elements of type T.

Parameters
elementsThe elements
sizeThe array size

Definition at line 38 of file ExternalArray.hpp.

◆ ExternalArray() [3/4]

template<typename T>
Fw::ExternalArray< T >::ExternalArray ( ByteArray  data,
FwSizeType  size 
)
inline

Constructor providing untyped backing storage. data must be aligned according to getByteArrayAlignment(). data must contain at least getByteArraySize(size) bytes.

Parameters
dataThe data
sizeThe array size

Definition at line 46 of file ExternalArray.hpp.

◆ ExternalArray() [4/4]

template<typename T>
Fw::ExternalArray< T >::ExternalArray ( const ExternalArray< T > &  a)
inline

Copy constructor.

Definition at line 53 of file ExternalArray.hpp.

◆ ~ExternalArray()

template<typename T>
Fw::ExternalArray< T >::~ExternalArray ( )
inline

Destructor.

Definition at line 56 of file ExternalArray.hpp.

Member Function Documentation

◆ copyDataFrom()

template<typename T>
void Fw::ExternalArray< T >::copyDataFrom ( const ExternalArray< T > &  a)
inline

Copy the data from a.

Definition at line 92 of file ExternalArray.hpp.

◆ getByteArrayAlignment()

template<typename T>
static constexpr U8 Fw::ExternalArray< T >::getByteArrayAlignment ( )
inlinestatic

Get the alignment of the storage for an ExternalArray

Returns
The alignment

Definition at line 157 of file ExternalArray.hpp.

◆ getByteArraySize()

template<typename T>
static constexpr FwSizeType Fw::ExternalArray< T >::getByteArraySize ( FwSizeType  size)
inlinestatic

Get the size of the storage for an ExternalArray of the specified size, as a byte array

Returns
The byte array size
Parameters
sizeThe size

Definition at line 162 of file ExternalArray.hpp.

◆ getElements() [1/2]

template<typename T>
T* Fw::ExternalArray< T >::getElements ( )
inline

Get a mutable pointer to the elements

Returns
A mutable pointer to the elements

Definition at line 101 of file ExternalArray.hpp.

◆ getElements() [2/2]

template<typename T>
const T* Fw::ExternalArray< T >::getElements ( ) const
inline

Get a const pointer to the elements

Returns
A const pointer to the elements

Definition at line 105 of file ExternalArray.hpp.

◆ getSize()

template<typename T>
FwSizeType Fw::ExternalArray< T >::getSize ( ) const
inline

Get the size

Returns
The size

Definition at line 109 of file ExternalArray.hpp.

◆ operator=()

template<typename T>
ExternalArray<T>& Fw::ExternalArray< T >::operator= ( const ExternalArray< T > &  a)
inline

Copy assignment operator

Returns
*this

Definition at line 83 of file ExternalArray.hpp.

◆ operator[]() [1/2]

template<typename T>
T& Fw::ExternalArray< T >::operator[] ( const FwSizeType  i)
inline

Subscript operator

Returns
The element at index i
Parameters
iThe subscript index

Definition at line 65 of file ExternalArray.hpp.

◆ operator[]() [2/2]

template<typename T>
const T& Fw::ExternalArray< T >::operator[] ( const FwSizeType  i) const
inline

Const subscript operator

Returns
The element at index i
Parameters
iThe subscript index

Definition at line 74 of file ExternalArray.hpp.

◆ setStorage() [1/2]

template<typename T>
void Fw::ExternalArray< T >::setStorage ( T *  elements,
FwSizeType  size 
)
inline

Set the backing storage (typed data)

Parameters
elementsThe array elements
sizeThe size

Definition at line 112 of file ExternalArray.hpp.

◆ setStorage() [2/2]

template<typename T>
void Fw::ExternalArray< T >::setStorage ( ByteArray  data,
FwSizeType  size 
)
inline

Set the backing storage (untyped data) Data must be aligned for T and must contain at least getByteArraySize(size) bytes.

Parameters
dataThe data
sizeThe array size

Definition at line 123 of file ExternalArray.hpp.


The documentation for this class was generated from the following file: