Boost Pointer Container Library Boost , ,
Pointer Container Library
А.ptr_vector — контейнер указателей, использующий базовыйstd::vector для хранения указателей.
Иерархия:
Навигация:
Синопсис:
namespace boost
{
template
<
class T,
class CloneAllocator = heap_clone_allocator,
class Allocator = std::allocator<void*>
>
class ptr_vector : public ptr_sequence_adapter
<
T,
std::vector<void*,Allocator>,
CloneAllocator
>
{
public: // construction
explicit ptr_vector( size_type to_reserve );
public: // capacity
size_type capacity() const;
void reserve( size_type n );
public: // element access
T& operator[]( size_type n );
const T& operator[]( size_type n ) const;
T& at( size_type n );
const T& at( size_type n ) const;
public: // pointer container requirements
auto_type replace( size_type idx, T* x );
template< class U >
auto_type replace( size_type idx, std::auto_ptr<U> x );
bool is_null( size_type idx ) const;
public: // C-array support
void transfer( iterator before, T** from, size_type size, bool delete_from = true );
T** c_array();
};
} // namespace 'boost'
размер_тип емкость конст;
Эффекты: Возвращает размер выделенного буфера
Альбом: Nothing
void reserve size_type n ;
Требования:n <= max_size()
Эффекты: Расширяет выделенный буфер
Постусловие:емкость() >= n
std::length_error() ifn > max_size()
auto_type заменить size_type idx, T* x ;
Требования: x ! = 0 и idx< размер()
Эффекты: возвращает объект, проиндексированныйidx и заменяет егоx .
Бросает:bad_index , еслиidx >= размер() иbad_pointer , еслиx == 0 .
Безопасность: сильная гарантия
шаблон< U > auto_type заменяют размер_type idx, std::auto_ptr x ; ;
Эффекты:возвращают заменяют idx, x.release [] x.release [] [
bool is_null size_type idx ] const;
Требования:idx < размер()
Эффекты: возвращает ли указатель в индексеidx нуль
Безопасность исключения: Гарантия Nothrow
недействительный перенос итератора до, T** от, размер_тип размер, размер, бул удаление_от = истинно
Требования:от != 0
Эффекты: приобретает право собственности на динамический массивот
Безопасность исключения: надежная гарантия, еслиудалить_ из == истинно ; еслиудалить_ из == ложно , и исключение брошено, контейнер не может взять на себя ответственность.
Замечания: В конце концов вызываетудалить [] из , еслиудалить_ из == истинно .
T** c_array();
Возврат:0 , если контейнер пуст; в противном случае указатель на первый элемент хранимого массива
Альбом: Nothing
Copyright: Thorsten Ottosen 2004-2007. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt ).
Статья Boost Pointer Container Library раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::