Alokator posiadający stałą pulę pamięci. More...
#include <FreeList.hpp>
Classes | |
struct | FreeBlock |
Public Member Functions | |
FreeList (uint Capacity) | |
~FreeList () | |
T * | TryNew () |
Alokacja z wywołaniem konstruktora domyślnego. Typy atomowe pozostają niezainicjalizowane. | |
T * | New () |
Alokacja z wywołaniem konstruktora domyślnego. Typy atomowe pozostają niezainicjalizowane. | |
T * | TryNew_ctor () |
Wersje do alokacji z jawnym wywołaniem konstruktora domyślnego. Dla typów atomowych oznacza to wyzerowanie. | |
T * | New_ctor () |
Wersje do alokacji z jawnym wywołaniem konstruktora domyślnego. Dla typów atomowych oznacza to wyzerowanie. | |
template<typename T1 > | |
T * | TryNew (const T1 &v1) |
Wersje do alokacji z wywołaniem konstruktora posiadającego 1, 2, 3, 4, 5 parametrów. | |
template<typename T1 > | |
T * | New (const T1 &v1) |
template<typename T1 , typename T2 > | |
T * | TryNew (const T1 &v1, const T2 &v2) |
template<typename T1 , typename T2 > | |
T * | New (const T1 &v1, const T2 &v2) |
template<typename T1 , typename T2 , typename T3 > | |
T * | TryNew (const T1 &v1, const T2 &v2, const T3 &v3) |
template<typename T1 , typename T2 , typename T3 > | |
T * | New (const T1 &v1, const T2 &v2, const T3 &v3) |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | TryNew (const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4) |
template<typename T1 , typename T2 , typename T3 , typename T4 > | |
T * | New (const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4) |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | TryNew (const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4, const T5 &v5) |
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
T * | New (const T1 &v1, const T2 &v2, const T3 &v3, const T4 &v4, const T5 &v5) |
void | Delete (T *x) |
Zwalnia komórkę pamięci zaalokowaną wcześniej z tej listy. | |
bool | IsEmpty () |
Zwraca true, jeśli lista jest pusta - nic nie zaalokowane. | |
bool | IsFull () |
Zwraca true, jeśli lista jest pełna - nie ma już pustego miejsca. | |
bool | BelongsTo (void *p) |
Zwraca true, jeśli podany adres jest zaalokowany z tej listy. | |
Statystyki w elementach | |
uint | GetUsedCount () |
uint | GetFreeCount () |
uint | GetCapacity () |
Statystyki w bajtach | |
uint | GetUsedSize () |
uint | GetFreeSize () |
uint | GetAllSize () |
Alokator posiadający stałą pulę pamięci.
common::FreeList< T >::FreeList | ( | uint | Capacity | ) | [inline] |
Capacity | to maksymalna liczba elementów |
common::FreeList< T >::~FreeList | ( | ) | [inline] |
bool common::FreeList< T >::BelongsTo | ( | void * | p | ) | [inline] |
Zwraca true, jeśli podany adres jest zaalokowany z tej listy.
void common::FreeList< T >::Delete | ( | T * | x | ) | [inline] |
Zwalnia komórkę pamięci zaalokowaną wcześniej z tej listy.
uint common::FreeList< T >::GetAllSize | ( | ) | [inline] |
uint common::FreeList< T >::GetCapacity | ( | ) | [inline] |
uint common::FreeList< T >::GetFreeCount | ( | ) | [inline] |
uint common::FreeList< T >::GetFreeSize | ( | ) | [inline] |
uint common::FreeList< T >::GetUsedCount | ( | ) | [inline] |
uint common::FreeList< T >::GetUsedSize | ( | ) | [inline] |
bool common::FreeList< T >::IsEmpty | ( | ) | [inline] |
Zwraca true, jeśli lista jest pusta - nic nie zaalokowane.
bool common::FreeList< T >::IsFull | ( | ) | [inline] |
Zwraca true, jeśli lista jest pełna - nie ma już pustego miejsca.
T* common::FreeList< T >::New | ( | const T1 & | v1, | |
const T2 & | v2, | |||
const T3 & | v3, | |||
const T4 & | v4, | |||
const T5 & | v5 | |||
) | [inline] |
T* common::FreeList< T >::New | ( | const T1 & | v1, | |
const T2 & | v2, | |||
const T3 & | v3, | |||
const T4 & | v4 | |||
) | [inline] |
T* common::FreeList< T >::New | ( | const T1 & | v1, | |
const T2 & | v2, | |||
const T3 & | v3 | |||
) | [inline] |
T* common::FreeList< T >::New | ( | const T1 & | v1, | |
const T2 & | v2 | |||
) | [inline] |
T* common::FreeList< T >::New | ( | const T1 & | v1 | ) | [inline] |
T* common::FreeList< T >::New | ( | ) | [inline] |
Alokacja z wywołaniem konstruktora domyślnego. Typy atomowe pozostają niezainicjalizowane.
Alokuje. Jeśli się nie da, rzuca wyjątek bad_alloc.
T* common::FreeList< T >::New_ctor | ( | ) | [inline] |
Wersje do alokacji z jawnym wywołaniem konstruktora domyślnego. Dla typów atomowych oznacza to wyzerowanie.
T* common::FreeList< T >::TryNew | ( | const T1 & | v1, | |
const T2 & | v2, | |||
const T3 & | v3, | |||
const T4 & | v4, | |||
const T5 & | v5 | |||
) | [inline] |
T* common::FreeList< T >::TryNew | ( | const T1 & | v1, | |
const T2 & | v2, | |||
const T3 & | v3, | |||
const T4 & | v4 | |||
) | [inline] |
T* common::FreeList< T >::TryNew | ( | const T1 & | v1, | |
const T2 & | v2, | |||
const T3 & | v3 | |||
) | [inline] |
T* common::FreeList< T >::TryNew | ( | const T1 & | v1, | |
const T2 & | v2 | |||
) | [inline] |
T* common::FreeList< T >::TryNew | ( | const T1 & | v1 | ) | [inline] |
Wersje do alokacji z wywołaniem konstruktora posiadającego 1, 2, 3, 4, 5 parametrów.
T* common::FreeList< T >::TryNew | ( | ) | [inline] |
Alokacja z wywołaniem konstruktora domyślnego. Typy atomowe pozostają niezainicjalizowane.
Próbuje zaalokować. Jeśli się nie da, zwraca NULL.
T* common::FreeList< T >::TryNew_ctor | ( | ) | [inline] |
Wersje do alokacji z jawnym wywołaniem konstruktora domyślnego. Dla typów atomowych oznacza to wyzerowanie.