Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template segment_manager_base

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Indexes and Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template segment_manager_base

boost::interprocess::segment_manager_base

Synopsis

// In header: <boost/interprocess/segment_manager.hpp>
template<typename MemoryAlgorithm> 
class segment_manager_base : private MemoryAlgorithm {
public:
  // types
  typedef segment_manager_base< MemoryAlgorithm > segment_manager_base_type;
  typedef MemoryAlgorithm::void_pointer           void_pointer;             
  typedef MemoryAlgorithm::mutex_family           mutex_family;             
  typedef MemoryAlgorithm                         memory_algorithm;         
  // construct/copy/destruct
  segment_manager_base(size_type, size_type);
  // public member functions
  size_type get_size() const;
  size_type get_free_memory() const;
  void * allocate(size_type, const std::nothrow_t &);
  void * allocate(size_type);
  void * allocate_aligned(size_type, size_type, const std::nothrow_t &);
  void * allocate_aligned(size_type, size_type);
  void deallocate(void *);
  void grow(size_type);
  void shrink_to_fit();
  bool all_memory_deallocated();
  bool check_sanity();
  void zero_free_memory();
  size_type size(const void *) const;
  // public static functions
  static size_type get_min_size(size_type);
  // public data members
  static const size_type PayloadPerAllocation;
};

Description

Этот объект является общественным базовым классом менеджера сегмента. Этот класс зависит только от алгоритма выделения памяти и реализует все функции выделения, не связанные с названными или уникальными объектами.

Сохранение ссылки наsegment_managerзаставляет класс держателя зависеть от типов индексов и типов символов. Когда такая зависимость нежелательна и нужны только анонимные и необработанные выделения,segment_manager_baseявляется правильным ответом.

segment_manager_base public construct/copy/destruct

  1. <
    segment_manager_base(size_typesz,size_typereserved_bytes);
    >

    Конструктор<segment_manager_base>

    «размера» — это размер сегмента памяти, где строится базовый менеджер сегмента.

    «reserved_bytes» — это количество байтов после окончания самого объекта алгоритма памяти, которое алгоритм памяти исключит из динамического распределения

segment_manager_base public member functions

  1. <
    size_typeget_size()const;
    >

    Возвращает размер сегмента памяти

  2. <
    size_typeget_free_memory()const;
    >

    Возвращает количество свободных байтов сегмента памяти

  3. <
    void*allocate(size_typenbytes,conststd::nothrow_t&);
    >

    Выделяет байты nbytes. Эта функция используется только в односегментном управлении. Никогда не бросайте

  4. <
    void*allocate(size_typenbytes);
    >

    Выделяет байты. Неудачи<boost::interprocess::bad_alloc>

  5. <
    void*allocate_aligned(size_typenbytes,size_typealignment,
                           conststd::nothrow_t&);
    >

    Выделяет байты. Эта функция используется только в односегментном управлении. Никогда не бросайте

  6. <
    void*allocate_aligned(size_typenbytes,size_typealignment);
    >

    Выделяет байты nbytes. Эта функция используется только в односегментном управлении. Когда не получается<bad_alloc>

  7. <
    voiddeallocate(void*addr);
    >

    Выделяет байты, выделенные с выделением/выделением_многие(), указанные с помощью добавления

  8. <
    voidgrow(size_typeextra_size);
    >

    Увеличивает управляемую память в байтах дополнительного размера. Это работает только с односегментным управлением.

  9. <
    voidshrink_to_fit();
    >

    Уменьшение управляемой памяти до минимума. Это работает только с односегментным управлением.

  10. <
    boolall_memory_deallocated();
    >

    Возвращает результат функции «all_memory_deallocated()» используемого алгоритма памяти

  11. <
    boolcheck_sanity();
    >

    Возвращает результат функции «check_sanity()» используемого алгоритма памяти

  12. <
    voidzero_free_memory();
    >

    Записывает на ноль свободную память (память еще не выделена) алгоритма памяти

  13. <
    size_typesize(constvoid*ptr)const;
    >Возвращает размер буфера, ранее выделенного заостренным ptr.

segment_manager_base public static functions

  1. <
    staticsize_typeget_min_size(size_typesize);
    >

    Получает минимальный размер, необходимый менеджеру сегмента

segment_manager_base public public data members

  1. <
    staticconstsize_typePayloadPerAllocation;
    >

    Эта постоянная указывает размер полезной нагрузки, связанный с каждым выделением алгоритма памяти

    .

PrevUpHomeNext

Статья Class template segment_manager_base раздела The Boost C++ Libraries BoostBook Documentation Subset Indexes and Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Indexes and Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:15:43/0.0061731338500977/1