common::FreeList< T > Class Template Reference
[FreeList Module]

Alokator posiadający stałą pulę pamięci. More...

#include <FreeList.hpp>

List of all members.

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 ()

Detailed Description

template<typename T>
class common::FreeList< T >

Alokator posiadający stałą pulę pamięci.


Constructor & Destructor Documentation

template<typename T>
common::FreeList< T >::FreeList ( uint  Capacity  )  [inline]
Parameters:
Capacity to maksymalna liczba elementów
template<typename T>
common::FreeList< T >::~FreeList (  )  [inline]

Member Function Documentation

template<typename T>
bool common::FreeList< T >::BelongsTo ( void *  p  )  [inline]

Zwraca true, jeśli podany adres jest zaalokowany z tej listy.

template<typename T>
void common::FreeList< T >::Delete ( T *  x  )  [inline]

Zwalnia komórkę pamięci zaalokowaną wcześniej z tej listy.

template<typename T>
uint common::FreeList< T >::GetAllSize (  )  [inline]
template<typename T>
uint common::FreeList< T >::GetCapacity (  )  [inline]
template<typename T>
uint common::FreeList< T >::GetFreeCount (  )  [inline]
template<typename T>
uint common::FreeList< T >::GetFreeSize (  )  [inline]
template<typename T>
uint common::FreeList< T >::GetUsedCount (  )  [inline]
template<typename T>
uint common::FreeList< T >::GetUsedSize (  )  [inline]
template<typename T>
bool common::FreeList< T >::IsEmpty (  )  [inline]

Zwraca true, jeśli lista jest pusta - nic nie zaalokowane.

template<typename T>
bool common::FreeList< T >::IsFull (  )  [inline]

Zwraca true, jeśli lista jest pełna - nie ma już pustego miejsca.

template<typename T>
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T* common::FreeList< T >::New ( const T1 &  v1,
const T2 &  v2,
const T3 &  v3,
const T4 &  v4,
const T5 &  v5 
) [inline]
template<typename T>
template<typename T1 , typename T2 , typename T3 , typename T4 >
T* common::FreeList< T >::New ( const T1 &  v1,
const T2 &  v2,
const T3 &  v3,
const T4 &  v4 
) [inline]
template<typename T>
template<typename T1 , typename T2 , typename T3 >
T* common::FreeList< T >::New ( const T1 &  v1,
const T2 &  v2,
const T3 &  v3 
) [inline]
template<typename T>
template<typename T1 , typename T2 >
T* common::FreeList< T >::New ( const T1 &  v1,
const T2 &  v2 
) [inline]
template<typename T>
template<typename T1 >
T* common::FreeList< T >::New ( const T1 &  v1  )  [inline]
template<typename T>
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.

template<typename T>
T* common::FreeList< T >::New_ctor (  )  [inline]

Wersje do alokacji z jawnym wywołaniem konstruktora domyślnego. Dla typów atomowych oznacza to wyzerowanie.

template<typename T>
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T* common::FreeList< T >::TryNew ( const T1 &  v1,
const T2 &  v2,
const T3 &  v3,
const T4 &  v4,
const T5 &  v5 
) [inline]
template<typename T>
template<typename T1 , typename T2 , typename T3 , typename T4 >
T* common::FreeList< T >::TryNew ( const T1 &  v1,
const T2 &  v2,
const T3 &  v3,
const T4 &  v4 
) [inline]
template<typename T>
template<typename T1 , typename T2 , typename T3 >
T* common::FreeList< T >::TryNew ( const T1 &  v1,
const T2 &  v2,
const T3 &  v3 
) [inline]
template<typename T>
template<typename T1 , typename T2 >
T* common::FreeList< T >::TryNew ( const T1 &  v1,
const T2 &  v2 
) [inline]
template<typename T>
template<typename T1 >
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.

template<typename T>
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.

template<typename T>
T* common::FreeList< T >::TryNew_ctor (  )  [inline]

Wersje do alokacji z jawnym wywołaniem konstruktora domyślnego. Dla typów atomowych oznacza to wyzerowanie.


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

Generated on Wed Dec 16 20:44:54 2009 for CommonLib by  doxygen 1.6.1