Raytrix Light Field SDK  v3.0
Logo
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events Groups Pages
Rx::Interop::Runtime30::IMemory Class Referenceabstract

Detailed Description

Common memory interface.

Inherits Rx::Interop::Runtime30::IMemoryAccess.

Inherited by Rx::CRxArrayBase< TValue >, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, Rx::CRxArrayUInt, and Rx::CRxArrayUShort.

Public Member Functions

virtual void CopyFrom (const IMemoryAccess *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 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 size_t Length () 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 length times the element size. More...
 
virtual void New (size_t nElementCount)=0
 Creates a new memory block of nElementCount 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 nNewElementCount)=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 ~IMemory ()
 Destructor. More...
 

Constructor & Destructor Documentation

virtual Rx::Interop::Runtime30::IMemory::~IMemory ( )
inlineprotectedvirtual

Destructor.

Member Function Documentation

virtual void Rx::Interop::Runtime30::IMemory::CopyFrom ( const IMemoryAccess pMemory)
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.

Parameters
pMemory[in] The memory to copy into this memory block.
virtual void Rx::Interop::Runtime30::IMemory::Delete ( )
pure virtual
virtual size_t Rx::Interop::Runtime30::IMemoryAccess::GetElementSize ( ) const
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.

Returns
The element size in bytes.

Implemented in Rx::CRxString, Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual const void* Rx::Interop::Runtime30::IMemoryAccess::GetPointer ( ) const
pure virtualinherited

Gets the pointer to memory.

Returns
The pointer to memory.

Implemented in Rx::CRxString, Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual void* Rx::Interop::Runtime30::IMemory::GetPointer ( )
pure virtual

Gets the pointer to the memory block.

Returns
The pointer to memory.

Implemented in Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual bool Rx::Interop::Runtime30::IMemoryAccess::IsValid ( ) const
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.

Returns
True if valid, false if not.

Implemented in Rx::CRxString, Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual size_t Rx::Interop::Runtime30::IMemoryAccess::Length ( ) const
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 length times the element size.

Returns
The size in bytes.

Implemented in Rx::CRxString, Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual void Rx::Interop::Runtime30::IMemory::New ( size_t  nElementCount)
pure virtual

Creates a new memory block of nElementCount elements. The size of an element is fixed by the implementation and can be read out with the function GetElementSize().

Parameters
nElementCountThe memory size in bytes.

Implemented in Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual void Rx::Interop::Runtime30::IMemory::Reset ( )
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::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.

virtual void Rx::Interop::Runtime30::IMemory::Resize ( size_t  nNewElementCount)
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().

Parameters
nNewElementCountThe new number of elements stored in the memory block.

Implemented in Rx::CRxArrayBase< TValue >, Rx::CRxArrayUShort, Rx::CRxArrayDouble, Rx::CRxArrayInt, Rx::CRxArrayUChar, and Rx::CRxArrayUInt.