Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Boost Pointer Container Library

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost Pointer Container Library

Class associative_ptr_container

В этом разделе описаны все общие операции для всех ассоциативных указательных контейнеров (в дополнение к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'  

Semantics

Semantics: typedefs

  • typedef...key_type;

    • если мы имеем дело с картой, то просто ключевой тип
    • Если мы имеем дело с набором, тоопосредованныйтип ключа, то есть данныйptr_set,ключ_type*будет.Т*.
  • типдеф...key_compare;

    • тип объекта сравнения, который определяет порядок элементов в контейнере
  • typedef...value_compare;

    • тип объекта сравнения, определяющий порядок элементов в контейнере
    • Если мы имеем дело с картой, то это сравнение просто перенаправляется на операцию сравненияkey_compare.

Semantics: observers

  • key_comparekey_comp()const;

  • value_comparevalue_comp()const;

    • возвращает копии объектов, используемых для определения порядка элементов

Semantics: modifiers

  • шаблон<имя типаInputIterator>пустотавставкаInputIteratorпервый,InputIteratorпоследний;

    • Требования:[первый, последний]является допустимым диапазоном
    • Эффекты: вставьте клонированный диапазон
    • Безопасность: Базовая гарантия
  • шаблон<класс>voidвставкаconstinputRange &r;r

    • Эффекты:вставкаповышение::gin(r),повышение::end(r);
  • пустотастираниеитераторположение;

    • Требования:положениеявляется действительным итератором из контейнера
    • Эффекты: удаляет элемент, определенный поположению.
    • Альбом: Nothing
  • size_typeeraseconstkey_type&x;

    • Эффекты: удаляет все элементы в контейнере с ключом, эквивалентнымx, и возвращает количество стертых элементов.
    • Альбом: Nothing
  • voideraseiteratorfirst,iteratorlast;

    • Требования:[первый, последний]является допустимым диапазоном
    • Эффекты: Удаляет диапазон элементов, определенных[первый, последний].
    • Альбом: Nothing
  • шаблон<классдиапазонпустотастираниеконстконстRange&r;

    • Эффекты:стираниеповышение::gin(r),повышение::end(r);

Semantics: algorithms

  • итератор         найдитеconstKey&x;

  • const_iteratorfind [constKey&x]const;

    • Эффекты: поиск ключа и возвратконца()при отказе.
    • Сложность: логарифмическая
  • размер_типколичество [констКлюч&амп;х]конст;

    • Эффекты: Подсчитывает элементы с ключом, эквивалентнымx
    • Сложность: логарифмическая
  • итератор          low_boundconstKey&x;

  • const_iteratorlower_boundconstKey&xconst;

    • Эффекты: возвращает итератор, указывающий на первый элемент с ключом не менееx
    • Сложность: логарифмическая
  • итератор         верхний_связанныйконстKey&x;

  • const_iteratorupper_boundconstKey&xconst

    • Эффекты: возвращает итератор, указывающий на первый элемент с ключом больше, чемх
    • Сложность: логарифмическая
  • iterator_range             equal_rangeconstKey&x;

  • итератор_rangeequal_rangeconstKey&xconst;

    • Эффекты:возвращениеповышение::make_iterator_rangeнижний_boundxверхний_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.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 06:53:40/0.008450984954834/1