17 : m_memory( nullptr ),
23 : m_memory( dataPointer ),
28 : m_memory( new int8[dataSize] ),
49 m_memory = chunk.m_memory;
50 m_size = chunk.m_size;
51 chunk.m_memory =
nullptr;
60 m_memory = chunk.m_memory;
61 m_size = chunk.m_size;
63 chunk.m_memory =
nullptr;
69 template<
typename Type>
70 inline Type*
GetMemory () {
return reinterpret_cast<Type*
>( m_memory ); }
73 template<
typename Type>
74 inline const Type*
GetMemory ()
const {
return reinterpret_cast<Type*
>( m_memory ); }
82 template<
typename Type>
83 inline Type&
Get ( uint32 index )
84 {
return reinterpret_cast<Type*
>( m_memory )[ index ]; }
89 template<
typename Type>
93 inline bool IsNull ()
const {
return !m_memory; }
100 inline void MemoryCopy (
const int8* dataPointer, uint32 dataSize )
105 m_memory =
new int8[ dataSize ];
106 memcpy( m_memory, dataPointer, dataSize );
MemoryChunk(uint32 dataSize)
alokuje obszar pamięciu o podanym rozmiarze, nie inicjując go.
Definition: MemoryChunk.h:27
MemoryChunk(int8 *&&dataPointer, uint32 dataSize)
Przejmuje na własność podany obszar pamięci.
Definition: MemoryChunk.h:22
bool IsNull() const
Sprawdza czy MemoryChunk ma zawartość.
Definition: MemoryChunk.h:93
Klasa przechowuje pamięć o dowolnym przeznaczeniu.
Definition: MemoryChunk.h:8
MemoryChunk & operator=(MemoryChunk &&chunk)
Definition: MemoryChunk.h:55
~MemoryChunk()
Definition: MemoryChunk.h:39
Plik zawiera definicje podstawowych typów zmiennych.
uint32 GetMemorySize() const
Zwraca rozmiar pamięci przechowywanej w obiekcie.
Definition: MemoryChunk.h:76
const Type * GetMemory() const
Zwraca otypowany wskaźnik na pamięć obiektu.
Definition: MemoryChunk.h:74
Type * GetMemory()
Zwraca otypowany wskaźnik na pamięć obiektu.
Definition: MemoryChunk.h:70
uint32 Count()
Zwraca liczbę elementów w buforze o typie podanym w parametrze szablonu.
Definition: MemoryChunk.h:90
MemoryChunk(MemoryChunk &&chunk)
Definition: MemoryChunk.h:47
Type & Get(uint32 index)
Zwraca referencję na obiekt w tablicy pod podanym indeksem.
Definition: MemoryChunk.h:83
MemoryChunk & operator=(const MemoryChunk &)=delete
Przypisanie obiektów nie ma sensu, bo może prowadzić do dwukrotnego zwalniania pamięci.
MemoryChunk()
Tworzy pusty obszar pamięci.
Definition: MemoryChunk.h:16
void MemoryCopy(const int8 *dataPointer, uint32 dataSize)
Kopiuje podany obszar pamięci.
Definition: MemoryChunk.h:100