Sleeping Wombat Common Library  0.50.0
swCommonLibrary
Public Member Functions | Protected Attributes | List of all members
MemoryChunk Class Reference

Klasa przechowuje pamięć o dowolnym przeznaczeniu. More...

#include <MemoryChunk.h>

Public Member Functions

 MemoryChunk ()
 Tworzy pusty obszar pamięci.
 
 MemoryChunk (int8 *&&dataPointer, uint32 dataSize)
 Przejmuje na własność podany obszar pamięci.
 
 MemoryChunk (uint32 dataSize)
 alokuje obszar pamięciu o podanym rozmiarze, nie inicjując go.
 
 ~MemoryChunk ()
 
MemoryChunkoperator= (const MemoryChunk &)=delete
 Przypisanie obiektów nie ma sensu, bo może prowadzić do dwukrotnego zwalniania pamięci.
 
 MemoryChunk (const MemoryChunk &)=delete
 Na razie nie można wykonywać kopii. Jedyna opcja to konstrukcja obiektu z semantyką move.
 
 MemoryChunk (MemoryChunk &&chunk)
 
MemoryChunkoperator= (MemoryChunk &&chunk)
 
template<typename Type >
Type * GetMemory ()
 Zwraca otypowany wskaźnik na pamięć obiektu. More...
 
template<typename Type >
const Type * GetMemory () const
 Zwraca otypowany wskaźnik na pamięć obiektu. More...
 
uint32 GetMemorySize () const
 Zwraca rozmiar pamięci przechowywanej w obiekcie.
 
template<typename Type >
Type & Get (uint32 index)
 Zwraca referencję na obiekt w tablicy pod podanym indeksem. More...
 
template<typename Type >
uint32 Count ()
 Zwraca liczbę elementów w buforze o typie podanym w parametrze szablonu. More...
 
bool IsNull () const
 Sprawdza czy MemoryChunk ma zawartość.
 
void MemoryCopy (const int8 *dataPointer, uint32 dataSize)
 Kopiuje podany obszar pamięci. More...
 

Protected Attributes

int8 * m_memory
 
uint32 m_size
 

Detailed Description

Klasa przechowuje pamięć o dowolnym przeznaczeniu.

Constructor & Destructor Documentation

MemoryChunk::~MemoryChunk ( )
inline

Zwalnia pamięć po zasobach.

MemoryChunk::MemoryChunk ( MemoryChunk &&  chunk)
inline
Parameters
chunkTworzy obiekt kradnąc pamięć z podanego w parametrze obiektu.

Member Function Documentation

template<typename Type >
uint32 MemoryChunk::Count ( )
inline

Zwraca liczbę elementów w buforze o typie podanym w parametrze szablonu.

Attention
Funkcja nie sprawdza faktycznego typu bufora, bo go nie zna. Użytkownik jest odpowiedzialny za poprawne stosowanie.
Returns
Zwraca rozmiar tablicy o typie Type.
template<typename Type >
Type& MemoryChunk::Get ( uint32  index)
inline

Zwraca referencję na obiekt w tablicy pod podanym indeksem.

Attention
Funkcja nie sprawdza czy indeks nie wychodzi poza pamięć w klasie.
Parameters
[in]indexIndeks w tablicy. Używana jest arytmetyka wskaźnikowa dla typu Type.
template<typename Type >
Type* MemoryChunk::GetMemory ( )
inline

Zwraca otypowany wskaźnik na pamięć obiektu.

Note
Nie ma tu żadnej kontroli typów.
template<typename Type >
const Type* MemoryChunk::GetMemory ( ) const
inline

Zwraca otypowany wskaźnik na pamięć obiektu.

Note
Nie ma tu żadnej kontroli typów.
void MemoryChunk::MemoryCopy ( const int8 *  dataPointer,
uint32  dataSize 
)
inline

Kopiuje podany obszar pamięci.

Parameters
[in]dataPointerWskaźnik na początek pamięci do skopiowania.
[in]dataSizeLiczba bajtów pamięci do skopiowania.
MemoryChunk& MemoryChunk::operator= ( MemoryChunk &&  chunk)
inline
Parameters
chunkOperator przypisania z semantyką move.

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