Титульная страница   Пространства имен   Алфавитный указатель   Классы   Файлы   Члены пространства имен   Члены классов   Члены файла  

Шаблон класса fixed_alloc_private::void_alloc< SIZE >

Вспомогательный класс для реализации fixed_alloc. Подробнее...

#include <fix_alloc.hpp>

Полный список членов класса

Открытые статические члены

void * alloc ()
 выделяет память размера SIZE

void free (void *ptr)
 освобождает ранее выделенную память


Закрытые статические данные

void * head
 определение статического члена void_alloc::head


Подробное описание

template<size_t SIZE>
class fixed_alloc_private::void_alloc< SIZE >

Вспомогательный класс для реализации fixed_alloc.

Его назначение состоит в выделении блоков памяти размера SIZE, в результате чего все объекты T одинакового (после округления до sizeof(void*)) размера будут использовать один и тот же список свободных кусков.

См. определение в файле fix_alloc.hpp строка 39


Методы

template<size_t SIZE>
void* fixed_alloc_private::void_alloc< SIZE >::alloc  )  [inline, static]
 

выделяет память размера SIZE

См. определение в файле fix_alloc.hpp строка 45

Перекрестные ссылки fixed_alloc_private::get_mem().

Используется в fixed_alloc< T >::alloc().

00046        {
00047         if (!head) get_mem(head, SIZE);
00048 
00049         void* ret=head;
00050         head=*(void**)head;
00051 
00052         return ret;
00053        }

template<size_t SIZE>
void fixed_alloc_private::void_alloc< SIZE >::free void *  ptr  )  [inline, static]
 

освобождает ранее выделенную память

См. определение в файле fix_alloc.hpp строка 56

Используется в fixed_alloc< T >::free().

00057        {
00058         *(void**)ptr=head;
00059         head=ptr;
00060        }


Данные класса

template<size_t SIZE>
void * fixed_alloc_private::void_alloc< SIZE >::head [static, private]
 

определение статического члена void_alloc::head

См. определение в файле fix_alloc.hpp строка 65


Объявления и описания членов класса находятся в файле:
Документация по xcppcomm. Последние изменения: Sat Mar 20 18:21:53 2004. Создано системой doxygen1.3