3#include <Foundation/Basics.h>
4#include <Foundation/Strings/HashedString.h>
52 return static_cast<const T*
>(GetData());
56 const void*
GetData()
const {
return m_pData; }
62 return static_cast<T*
>(GetWritableData());
68 plUInt64 GetDataSize()
const {
return m_uiDataSize; }
85 static plUInt16 GetDataTypeSize(DataType type);
91 void SetSize(plUInt64 uiNumElements);
94 void* m_pData =
nullptr;
95 plUInt64 m_uiDataSize = 0;
97 plUInt16 m_uiAlignment = 0;
98 plUInt16 m_uiTypeSize = 0;
99 plUInt16 m_uiStride = 0;
101 bool m_bExternalMemory =
false;
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A stream group encapsulates the streams and the corresponding data processors.
Definition ProcessingStreamGroup.h:25
A single stream in a stream group holding contiguous data of a given type.
Definition ProcessingStream.h:8
T * GetWritableData() const
Returns a non-const pointer to the data casted to the type T, note that no type check is done!
Definition ProcessingStream.h:60
void * GetWritableData() const
Returns a non-const pointer to the start of the data block.
Definition ProcessingStream.h:66
const void * GetData() const
Returns a const pointer to the start of the data block.
Definition ProcessingStream.h:56
const T * GetData() const
Returns a const pointer to the data casted to the type T, note that no type check is done!
Definition ProcessingStream.h:50
plUInt16 GetElementStride() const
Returns the stride between two elements of the stream in bytes.
Definition ProcessingStream.h:83
plUInt16 GetAlignment() const
Returns the alignment which was used to allocate the stream.
Definition ProcessingStream.h:74
DataType
The data types which can be stored in the stream. When adding new data types the GetDataTypeSize() of...
Definition ProcessingStream.h:13
DataType GetDataType() const
Returns the data type of the stream.
Definition ProcessingStream.h:77
plUInt16 GetElementSize() const
Returns the size of one stream element in bytes.
Definition ProcessingStream.h:80
const plHashedString & GetName() const
Returns the name of the stream.
Definition ProcessingStream.h:71
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34