Common 2D memory interface.
Inherits Rx::Interop::Runtime30::IMemory2DAccess.
Inherited by Rx::CRxArray2DBase< TValue >, Rx::CRxArray2DDouble, and Rx::CRxArray2DInt.
Public Member Functions | |
virtual void | CopyFrom (const IMemory2DAccess *pMemory)=0 |
Copies the memory block described by pMemory into this memory block. This memory block is automatically resized. The function throws an exception if the element sizes of the given memory block does not agree with the element size of this memory block. More... | |
virtual void | Delete ()=0 |
Deletes this memory block. More... | |
virtual size_t | GetElementSize () const =0 |
Gets the element size. The memory block is made up of blocks of the given number of bytes. The function Length() returns the number of elements in the memory block, where each element is of the size given in GetElementSize(). For example, an array of 10 doubles has element size 8 and length 10. More... | |
virtual const void * | GetPointer () const =0 |
Gets the pointer to memory. More... | |
virtual void * | GetPointer ()=0 |
Gets the pointer to the memory block. More... | |
virtual void | GetSize (size_t &nRows, size_t &nCols) const =0 |
Gets the number of elements in the memory block. The total number of bytes allocated by the memory block is given by the nRows times nCols times the element size. More... | |
virtual bool | IsValid () const =0 |
Query if this object is valid. This function returns also true if the object itself is valid but the memory block has size zero. More... | |
virtual void | New (size_t nRows, size_t nCols)=0 |
Creates a new memory block of nRows times nCols elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize(). More... | |
virtual void | Reset ()=0 |
Reset all values in the memory block. The actual value the elements in the memory block are reset to depends on the implementation. More... | |
virtual void | Resize (size_t nRows, size_t nCols)=0 |
Resizes the memory block to the given number of elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize(). More... | |
Protected Member Functions | |
virtual | ~IMemory2D () |
Destructor. More... | |
|
inlineprotectedvirtual |
Destructor.
|
pure virtual |
Copies the memory block described by pMemory into this memory block. This memory block is automatically resized. The function throws an exception if the element sizes of the given memory block does not agree with the element size of this memory block.
pMemory | [in] The memory to copy into this memory block. |
|
pure virtual |
Deletes this memory block.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtualinherited |
Gets the element size. The memory block is made up of blocks of the given number of bytes. The function Length() returns the number of elements in the memory block, where each element is of the size given in GetElementSize(). For example, an array of 10 doubles has element size 8 and length 10.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtualinherited |
Gets the pointer to memory.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtual |
Gets the pointer to the memory block.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtualinherited |
Gets the number of elements in the memory block. The total number of bytes allocated by the memory block is given by the nRows times nCols times the element size.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtualinherited |
Query if this object is valid. This function returns also true if the object itself is valid but the memory block has size zero.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtual |
Creates a new memory block of nRows times nCols elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize().
nRows | The amount of rows to allocate. |
nCols | The amount of cols to allocate. |
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtual |
Reset all values in the memory block. The actual value the elements in the memory block are reset to depends on the implementation.
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.
|
pure virtual |
Resizes the memory block to the given number of elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize().
nRows | The amount of rows to allocate. |
nCols | The amount of cols to allocate. |
Implemented in Rx::CRxArray2DDouble, Rx::CRxArray2DInt, and Rx::CRxArray2DBase< TValue >.