Boost Pointer Container Library Boost , ,
Pointer Container Library
ptr_deque представляет собой контейнер указателей, который использует базовый std:deque для хранения указателей.
Иерархия:
Навигат:
Синопсис:
namespace boost
{
template
<
class T,
class CloneAllocator = heap_clone_allocator
class Allocator = std::allocator<void*>
>
class ptr_deque : public ptr_sequence_adapter
<
T,
std::deque<void*,Allocator>,
CloneAllocator
>
{
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: // modifiers
void push_front( T* x );
template< class U >
void push_front( std::auto_ptr<U> x );
auto_type pop_front();
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;
};
} // namespace 'boost'
auto_type pop_front():
Требования:не пустой()
Эффекты: удаление первого элемента в контейнере
размер() меньше
Броски:bad_ptr_container_operation , еслипустой() == истинный
Безопасность: сильная гарантия
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 ; Эффекты:возвращение замена x.release() x.release()
bool is_null size_type idx const;
Требования:idx < размер()
Эффекты: возвращает ли указатель в индексеidx нуль
Безопасность исключения: Гарантия Nothrow
Copyright: Thorsten Ottosen 2004-2006. 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.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::