Boost Pointer Container Library Boost , ,
Pointer Container Library
В этом разделе описаны все общие операции для всех ассоциативных указательных контейнеров (в дополнение кreversible_ptr_container). .
Иерархия:
См. также:
Навигация:
Синопсис:
namespace boost
{
template
<
class Key,
class CloneAllocator = heap_clone_allocator
>
class associative_ptr_container
{
public: // typedefs
typedef ... key_type;
typedef ... key_compare;
typedef ... value_compare;
public: // observers
key_compare key_comp() const;
value_compare value_comp() const;
public: // modifiers
template< typename InputIterator >
void insert( InputIterator first, InputIterator last );
template< class InputRange >
void insert( const InputRange& r );
void erase( iterator position );
size_type erase( const key_type& x );
template< class Range >
void erase( const Range& r );
void erase( iterator first, iterator last );
public: // algorithms
iterator find( const key_type& x );
const_iterator find( const key_type& x ) const;
size_type count( const key_type& x ) const;
iterator lower_bound( const key_type& x );
const_iterator lower_bound( const key_type& x ) const;
iterator upper_bound( const key_type& x );
const_iterator upper_bound( const key_type& x ) const;
iterator_range<iterator> equal_range( const key_type& x );
iterator_range<const_iterator> equal_range( const key_type& x ) const;
}; // class 'associative_ptr_container'
} // namespace 'boost'
typedef ... key_type;
если мы имеем дело с картой, то просто ключевой тип
Если мы имеем дело с набором, тоопосредованный тип ключа, то есть данныйptr_set ,ключ_type* будет.Т* .
типдеф ... key_compare;
тип объекта сравнения, который определяет порядок элементов в контейнере
typedef ... value_compare;
тип объекта сравнения, определяющий порядок элементов в контейнере
Если мы имеем дело с картой, то это сравнение просто перенаправляется на операцию сравненияkey_compare .
шаблон< имя типа InputIterator > пустота вставка InputIterator первый, InputIterator последний ;
Требования:[первый, последний] является допустимым диапазоном
Эффекты: вставьте клонированный диапазон
Безопасность: Базовая гарантия
шаблон< класс > void вставка const inputRange & r ; r
Эффекты:вставка повышение::gin(r), повышение::end(r) ;
пустота стирание итератор положение ;
Требования:положение является действительным итератором из контейнера
Эффекты: удаляет элемент, определенный поположению .
Альбом: Nothing
size_type erase const key_type& x ;
Эффекты: удаляет все элементы в контейнере с ключом, эквивалентнымx , и возвращает количество стертых элементов.
Альбом: Nothing
void erase iterator first, iterator last ;
Требования:[первый, последний] является допустимым диапазоном
Эффекты: Удаляет диапазон элементов, определенных[первый, последний] .
Альбом: Nothing
шаблон< класс диапазон пустота стирание конст конст Range& r ;
Эффекты:стирание повышение::gin(r), повышение::end(r) ;
итератор найдите const Key& x ;
const_iterator find [ const Key& x ] const;
Эффекты: поиск ключа и возвратконца() при отказе.
Сложность: логарифмическая
размер_тип количество [ конст Ключ&амп; х ] конст;
Эффекты: Подсчитывает элементы с ключом, эквивалентнымx
Сложность: логарифмическая
итератор low_bound const Key& x ;
const_iterator lower_bound const Key& x const;
Эффекты: возвращает итератор, указывающий на первый элемент с ключом не менееx
Сложность: логарифмическая
итератор верхний_связанный конст Key& x ;
const_iterator upper_bound const Key& x const
Эффекты: возвращает итератор, указывающий на первый элемент с ключом больше, чемх
Сложность: логарифмическая
iterator_range equal_range const Key& x ;
итератор_range equal_range const Key& x const;
Эффекты:возвращение повышение::make_iterator_range нижний_bound x верхний_boundx ;
Сложность: логарифмическая
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.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::