...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A ptr_list<T> is a pointer container that uses an underlying std:list<void*> to store the pointers.
Hierarchy:
Navigate:
Synopsis:
namespace boost { template < class T, class CloneAllocator = heap_clone_allocator, class Allocator = std::allocator<void*> > class ptr_list : public ptr_sequence_adapter < T, std::list<void*,Allocator>, CloneAllocator > { public: // modifiers void push_front( T* x ); template< class U > void push_front( compatible-smart-ptr<U> x ); auto_type pop_front(); public: // list operations void reverse(); }; // class 'ptr_list' } // namespace 'boost'
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 );
- Effects: push_front( x.release() );
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
void reverse();
- Effects: reverses the underlying sequence
- Throws: nothing
Copyright: | Thorsten Ottosen 2004-2006. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt). |
---|