Class template segment_manager_base
boost::interprocess::segment_manager_base
 
Synopsis
Description
Этот объект является общественным базовым классом менеджера сегмента. Этот класс зависит только от алгоритма выделения памяти и реализует все функции выделения, не связанные с названными или уникальными объектами.
Сохранение ссылки наsegment_managerзаставляет класс держателя зависеть от типов индексов и типов символов. Когда такая зависимость нежелательна и нужны только анонимные и необработанные выделения,segment_manager_baseявляется правильным ответом.
segment_manager_base 
        public
       construct/copy/destruct
- <segment_manager_base(size_typesz,size_typereserved_bytes); >Конструктор<segment_manager_base>
 «размера» — это размер сегмента памяти, где строится базовый менеджер сегмента. «reserved_bytes» — это количество байтов после окончания самого объекта алгоритма памяти, которое алгоритм памяти исключит из динамического распределения 
 
segment_manager_base public member functions
- <size_typeget_size()const; >Возвращает размер сегмента памяти 
- <size_typeget_free_memory()const; >Возвращает количество свободных байтов сегмента памяти 
- <void*allocate(size_typenbytes,conststd::nothrow_t&); >Выделяет байты nbytes. Эта функция используется только в односегментном управлении. Никогда не бросайте 
- <void*allocate(size_typenbytes); >Выделяет байты. Неудачи<boost::interprocess::bad_alloc>
 
- <void*allocate_aligned(size_typenbytes,size_typealignment,
                       conststd::nothrow_t&);>Выделяет байты. Эта функция используется только в односегментном управлении. Никогда не бросайте 
- <void*allocate_aligned(size_typenbytes,size_typealignment); >Выделяет байты nbytes. Эта функция используется только в односегментном управлении. Когда не получается<bad_alloc>
 
- <voiddeallocate(void*addr); >Выделяет байты, выделенные с выделением/выделением_многие(), указанные с помощью добавления 
- <voidgrow(size_typeextra_size); >Увеличивает управляемую память в байтах дополнительного размера. Это работает только с односегментным управлением. 
- <voidshrink_to_fit(); >Уменьшение управляемой памяти до минимума. Это работает только с односегментным управлением. 
- <boolall_memory_deallocated(); >Возвращает результат функции «all_memory_deallocated()» используемого алгоритма памяти 
- <boolcheck_sanity(); >Возвращает результат функции «check_sanity()» используемого алгоритма памяти 
- <voidzero_free_memory(); >Записывает на ноль свободную память (память еще не выделена) алгоритма памяти 
- <size_typesize(constvoid*ptr)const; >Возвращает размер буфера, ранее выделенного заостренным ptr.
 
segment_manager_base public static functions
- <staticsize_typeget_min_size(size_typesize); >Получает минимальный размер, необходимый менеджеру сегмента 
 
segment_manager_base 
        public
       public data members
- <staticconstsize_typePayloadPerAllocation; >Эта постоянная указывает размер полезной нагрузки, связанный с каждым выделением алгоритма памяти .