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

Class template pool_allocator

Boost , Boost.Pool , Header <boost/pool/poolfwd.hpp>

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 pool_allocator

boost::pool_allocator — A C++ Standard Library conforming allocator, based on an underlying pool.

Synopsis

// In header: <boost/pool/poolfwd.hpp>
template<typename T, 
         typename UserAllocator = default_user_allocator_new_delete, 
         typename Mutex = details::pool::default_mutex, 
         unsigned NextSize = 32, unsigned MaxSize = 0> 
class pool_allocator {
public:
  // construct/copy/destruct
  pool_allocator();
  template<typename U> 
    pool_allocator(const pool_allocator< U, UserAllocator, Mutex, NextSize, MaxSize > &);
  // public member functions
  bool operator==(const pool_allocator &) const;
  bool operator!=(const pool_allocator &) const;
  // public static functions
  static pointer address(reference);
  static const_pointer address(const_reference);
  static size_type max_size();
  static void construct(const pointer, const value_type &);
  static void destroy(const pointer);
  static pointer allocate(const size_type);
  static pointer allocate(const size_type, const void *);
  static void deallocate(const pointer, const size_type);
};

Description

Параметры шаблона дляpool_allocatorопределяется следующим образом:

TТип объекта для выделения/выделения.

Пользователь. Определяет метод, который базовый пул будет использовать для выделения памяти из системы.Распределители пользователейдля получения подробной информации.

МутексПозволяет пользователю определить тип синхронизации, который будет использоваться на базовомsingleton_pool.

NextSizeЗначение этого параметра передается в базовыйsingleton_poolпри его создании.

MaxSizeОграничение на максимальный размер.

[Note]Note

Базовыйsingleton_pool, используемый этим распределителем, конструирует экземпляр пула, которыйникогда не освобождается. Это означает, что память, выделенная распределителем, может по-прежнему использоваться после завершения main(), но может означать, что некоторые программы проверки памяти будут жаловаться на утечки.

pool_allocator public construct/copy/destruct

  1. <
    pool_allocator();
    >

    В результате построения базового<singleton_pool>МФФ по умолчанию экземпляр этого распределителя строится во время глобальной инициализации (требуется для обеспечения построения<singleton_pool>МФФ экземпляр этого распределителя строится во время глобальной инициализации). Билет No 2359 для полного объяснения по адресуhttp://svn.boost.org/trac/boost/ticket/2359.

  2. <
    template<typenameU>
     pool_allocator(constpool_allocator<U,UserAllocator,Mutex,NextSize,MaxSize>&);
    >

    В результате построения базового<singleton_pool>по умолчанию это требуется для обеспечения построения<singleton_pool>IFF экземпляра этого распределителя, построенного во время глобальной инициализации. См. билет No 2359 для полного объяснения по адресуhttp://svn.boost.org/trac/boost/ticket/2359

    .

pool_allocator public member functions

  1. <
    booloperator==(constpool_allocator&)const;
    >
  2. <
    booloperator!=(constpool_allocator&)const;
    >

pool_allocator public static functions

  1. <
    staticpointeraddress(referencer);
    >
  2. <
    staticconst_pointeraddress(const_references);
    >
  3. <
    staticsize_typemax_size();
    >
  4. <
    staticvoidconstruct(constpointerptr,constvalue_type&t);
    >
  5. <
    staticvoiddestroy(constpointerptr);
    >
  6. <
    staticpointerallocate(constsize_typen);
    >
  7. <
    staticpointerallocate(constsize_typen,constvoid*const);
    >

    выделяют n байтов

    Параметры:

    <n>

    для выделения.

  8. <
    staticvoiddeallocate(constpointerptr,constsize_typen);
    >

    Выделить n байтов из ptr

    Параметры:

    <n>

    количество байтов для размещения.

    <ptr>

    Место для размещения.


PrevUpHomeNext

Статья Class template pool_allocator раздела Boost.Pool Header <boost/pool/poolfwd.hpp> может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Header <boost/pool/poolfwd.hpp> ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 00:56:29/0.0039792060852051/0