3rdParty/boost/1.78.0/libs/ptr_container/doc/ptr_deque.rst
++++++++++++++++++++++++++++++++++ |Boost| Pointer Container Library ++++++++++++++++++++++++++++++++++
.. |Boost| image:: boost.png
ptr_dequeA ptr_deque<T> is a pointer container that uses an underlying std:deque<void*>
to store the pointers.
Hierarchy:
reversible_ptr_container <reversible_ptr_container.html>_
ptr_sequence_adapter <ptr_sequence_adapter.html>_
ptr_vector <ptr_vector.html>_ptr_list <ptr_list.html>_ptr_dequeptr_array <ptr_array.html>_Navigate:
home <ptr_container.html>_reference <reference.html>_Synopsis:
.. parsed-literal::
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( compatible-smart-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, compatible-smart-ptr<U> x );
bool is_null( size_type idx ) const;
};
} // namespace 'boost'
.. _reversible_ptr_container: reversible_ptr_container.html
.. _ptr_sequence_adapter: ptr_sequence_adapter.html
.. _modifiers:
Semantics: modifiers ^^^^^^^^^^^^^^^^^^^^
void push_front( T* x );
Requirements: x != 0
Effects: Inserts the pointer into container and takes ownership of it
Throws: bad_pointer if x == 0
Exception safety: Strong guarantee
template< class U > void push_front( compatible-smart-ptr<U> x );
push_front( x.release() );..
- void push_front( const T& x );
- Effects: push_front( allocate_clone( x ) );
- Exception safety: Strong guarantee
auto_type pop_front():
Requirements:not empty()
Effects: Removes the first element in the container
Postconditions: size() is one less
Throws: bad_ptr_container_operation if empty() == true
Exception safety: Strong guarantee
.. _element access:
Semantics: element access ^^^^^^^^^^^^^^^^^^^^^^^^^
T& operator[]( size_type n );
const T& operator[]( size_type n ) const;
Requirements: n < size()
Effects: Returns a reference to the n'th element
Throws: Nothing
T& at( size_type n );
const T& at( size_type n ) const;
Requirements: n < size()
Effects: Returns a reference to the n'th element
Throws: bad_index if n >=size()
.. _pointer container requirements:
Semantics: pointer container requirements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
auto_type replace( size_type idx, T* x );
Requirements: x != 0 and idx < size()
Effects: returns the object indexed by idx and replaces it with x.
Throws: bad_index if idx >= size() and bad_pointer if x == 0.
Exception safety: Strong guarantee
template< class U > auto_type replace( size_type idx, compatible-smart-ptr<U> x );
return replace( idx, x.release() );bool is_null( size_type idx ) const;
Requirements: idx < size()
Effects: returns whether the pointer at index idx is null
Exception safety: Nothrow guarantee
.. raw:: html
<hr>
:Copyright: Thorsten Ottosen 2004-2006. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt__).