Pointer Container Library
Insert Iterators
Когда вы работаете с обычными контейнерами и алгоритмами, основанными на стоимости, вы часто используете вставки итераторов
std::list<int> coll1;
// ...
std::vector<int> coll2;
std::copy( coll1.begin(), coll1.end(),
back_inserter(coll2) );
С помощью специальных вставных итераторов для указательных контейнеров вы можете делать точно то же самое
boost::ptr_list<Base> coll1;
// ...
boost::ptr_vector<Base> coll2;
std::copy( coll1.begin(), coll1.end(),
boost::ptr_container::ptr_back_inserter(coll2) );
Каждый элемент клонируется и вставляется в контейнер. Кроме того, если итерирует источник над указателями вместо ссылок, NULL указатели могут быть также перенесены.
Navigate
Синопсис:
namespace boost
{
namespace ptr_container
{
template< class PtrContainer >
class ptr_back_insert_iterator;
template< class PtrContainer >
class ptr_front_insert_iterator;
template< class PtrContainer >
class ptr_insert_iterator;
template< class PtrContainer >
ptr_back_insert_iterator<PtrContainer>
ptr_back_inserter( PtrContainer& cont );
template< class PtrContainer >
ptr_front_insert_iterator<PtrContainer>
ptr_front_inserter( PtrContainer& cont );
template< class PtrContainer >
ptr_insert_iterator<PtrContainer>
ptr_inserter( PtrContainer& cont, typename PtrContainer::iterator before );
} // namespace 'ptr_container'
} // namespace 'boost'
Copyright: | Thorsten Ottosen 2008. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt). |