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

Class template rbtree_best_fit

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 rbtree_best_fit

boost::interprocess::rbtree_best_fit

Synopsis

// In header: <boost/interprocess/mem_algo/rbtree_best_fit.hpp>
template<typename MutexFamily, typename VoidPointer, std::size_t MemAlignment> 
class rbtree_best_fit {
public:
  // types
  typedef MutexFamily                                                   mutex_family;           // Shared mutex family used for the rest of the Interprocess framework. 
  typedef VoidPointer                                                   void_pointer;           // Pointer type to be used with the rest of the Interprocess framework. 
  typedef unspecified                                                   multiallocation_chain;
  typedef boost::intrusive::pointer_traits< char_ptr >::difference_type difference_type;      
  typedef unspecified                                                   size_type;            
  // construct/copy/destruct
  rbtree_best_fit(size_type, size_type);
  ~rbtree_best_fit();
  // public member functions
  void * allocate(size_type);
  void deallocate(void *);
  size_type get_size() const;
  size_type get_free_memory() const;
  void zero_free_memory();
  void grow(size_type);
  void shrink_to_fit();
  bool all_memory_deallocated();
  bool check_sanity();
  template<typename T> 
    T * allocation_command(boost::interprocess::allocation_type, size_type, 
                           size_type &, T *&);
  void * raw_allocation_command(boost::interprocess::allocation_type, 
                                size_type, size_type &, void *&, 
                                size_type = 1);
  size_type size(const void *) const;
  void * allocate_aligned(size_type, size_type);
  // public static functions
  static size_type get_min_size(size_type);
  // public data members
  static const size_type PayloadPerAllocation;
};

Description

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

rbtree_best_fit public construct/copy/destruct

  1. rbtree_best_fit(размер_тип)Размер,размер_типextra_hdr_bytes);

    Конструктор. «Размер» — это общий размер сегмента управляемой памяти, «extra_hdr_bytes» указывает на дополнительные байты, начинающиеся с размера (rbtree_best_fit), который распределитель не должен использовать вообще.

  2. ~rbtree_best_fit
    Разрушитель.

rbtree_best_fit public member functions

  1. void*выделяютразмер_типnbytes;
    Выделяет байты, возвращает 0, если памяти больше нет.
  2. voiddeallocatevoid*addr;
    Выделяет ранее выделенные байты.
  3. size_typeget_sizeconst;
    Возвращает размер сегмента памяти.
  4. size_typeget_free_memoryconst;
    Возвращает количество свободных байтов сегмента.
  5. voidzero_free_memory;

    Инициализирует обнуление всей памяти, которая не используется. Эта функция обычно используется по соображениям безопасности.

  6. voidgrowsize_typeextra_size;

    Увеличивает управляемую память в байтах больше

  7. voidshrink_to_fit;
    Уменьшает управляемую память.
  8. boolall_memory_deallocated;
    Возвращается верно, если вся выделенная память была размещена.
  9. boolcheck_sanity;

    Делает внутреннюю проверку здравомыслия и возвращается истинным, если успех

  10. шаблон<имя типа>выделение_командусилениемежпроцесс::выделение_типкоманда,размер_типпредел_размер,размер_типразмер_тип&предпочтение_in_recvd_out_size,T&повторное использование; [18
  11. voidraw_allocation_commandboost::interprocess::allocation_typecommand,size_typelimit_object,size_type&предпочесть_in_recvd_out_size,void&reuse_ptr,size_type1;
  12. size_typesizeconstvoidptr]const;
    Возвращает размер буфера, ранее выделенного с помощью ptr.
  13. пустота*выделяют_выровненныеразмер_типнбайт,размер_типвыравнивание;

    Выделяет выровненные байты, возвращает 0, если памяти больше нет. Выравнивание должно быть мощностью 2

rbtree_best_fit public static functions

  1. статическийразмер_типполучить_min_sizeразмер_типдополнительный_hdr_байт];
    Минимальный размер, необходимый алгоритму.

PrevUpHomeNext

Статья Class template rbtree_best_fit раздела 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-19 22:49:40/0.028977870941162/1