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

Class template interval_set

Boost , Chapter 1. Boost.Icl , Header <boost/icl/interval_set.hpp>

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

PrevUpHomeNext

Class template interval_set

boost::icl::interval_set — Implements a set as a set of intervals - merging adjoining intervals.

Synopsis

// In header: <boost/icl/interval_set.hpp>
template<typename DomainT, 
         ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT), 
         ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), 
         ICL_ALLOC Alloc = std::allocator> 
class interval_set : public boost::icl::interval_base_set< interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc >
{
public:
  // types
  typedef interval_set< DomainT, Compare, Interval, Alloc >            type;                 
  typedef interval_base_set< type, DomainT, Compare, Interval, Alloc > base_type;              // The base_type of this class. 
  typedef type                                                         overloadable_type;    
  typedef type                                                         joint_type;           
  typedef type                                                         key_object_type;      
  typedef DomainT                                                      domain_type;            // The domain type of the set. 
  typedef DomainT                                                      codomain_type;          // The codomaintype is the same as domain_type. 
  typedef DomainT                                                      element_type;           // The element type of the set. 
  typedef interval_type                                                segment_type;           // The segment type of the set. 
  typedef exclusive_less_than< interval_type >                         interval_compare;       // Comparison functor for intervals. 
  typedef exclusive_less_than< interval_type >                         key_compare;            // Comparison functor for keys. 
  typedef Alloc< interval_type >                                       allocator_type;         // The allocator type of the set. 
  typedef Alloc< DomainT >                                             domain_allocator_type;  // allocator type of the corresponding element set 
  typedef base_type::atomized_type                                     atomized_type;          // The corresponding atomized type representing this interval container of elements. 
  typedef base_type::ImplSetT                                          ImplSetT;               // Container type for the implementation. 
  typedef ImplSetT::key_type                                           key_type;               // key type of the implementing container 
  typedef ImplSetT::value_type                                         data_type;              // data type of the implementing container 
  typedef ImplSetT::value_type                                         value_type;             // value type of the implementing container 
  typedef ImplSetT::iterator                                           iterator;               // iterator for iteration over intervals 
  typedef ImplSetT::const_iterator                                     const_iterator;         // const_iterator for iteration over intervals 
  enum @9 { fineness = = 1 };
  // construct/copy/destruct
  interval_set();
  interval_set(const interval_set &);
  template<typename SubType> 
    explicit interval_set(const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &);
  explicit interval_set(const domain_type &);
  explicit interval_set(const interval_type &);
  interval_set(interval_set &&);
  template<typename SubType> 
    interval_set & 
    operator=(const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &);
  interval_set & operator=(interval_set);
  // public member functions
  typedef ICL_INTERVAL_TYPE(Interval, DomainT, Compare);
  typedef ICL_COMPARE_DOMAIN(Compare, DomainT);
  template<typename SubType> 
    void assign(const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &);
  // private member functions
  iterator handle_inserted(iterator);
  iterator add_over(const interval_type &, iterator);
  iterator add_over(const interval_type &);
};

Description

interval_set public construct/copy/destruct

  1. интервал_set();
    Конструктор по умолчанию для пустого объекта.
  2. интервал_setconstинтервал_set&src;
    Копировать конструктор.
  3. шаблон<имя типаSubType>эксплицитныйинтервал_setconstинтервал_base_set<SubType,DomainT,Сравните,Интервал,Alloc>&src,
    конструктор копий для base_type.
  4. эксплицитныйинтервал_setconstдомен_type&значение;
    Конструктор для одного элемента.
  5. эксплицитныйинтервал_setконстинтервал_type&itv;
    Конструктор для одного интервала.
  6. интервал_setинтервал_set&&src;
    Переместить конструктор.
  7. шаблон<имя типаSubType>интервал_set&оператор=constинтервал_base_set<SubType,DomainT,Сравните,Интервал,Alloc>&]src [1
    Оператор назначения базового типа.
  8. интервал_set&оператор=интервал_setsrc;
    Переместить оператор назначения.

interval_set public member functions

  1. typedefICL_INTERVAL_TYPEИнтервал,ДоменT,Сравните;
    Тип интервала набора.
  2. typedefICL_COMPARE_DOMAINСравните,DomainT;
    Сравнение функтора для значений домена.
  3. шаблонимя типаSubType>voidприсваиваютconst
    интервал_base_set<SubType,DomainT,Сравните,Интервал,Alloc>&src;Назначение из базы [

interval_set private member functions

  1. итераторhandle_insertedитератор
  2. итераторadd_overconstinterval_type&addend,iteratorlast_];
  3. итераторadd_overconstinterval_type&addend];

PrevUpHomeNext

Статья Class template interval_set раздела Chapter 1. Boost.Icl Header <boost/icl/interval_set.hpp> может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Header <boost/icl/interval_set.hpp> ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:05:09/0.0094180107116699/1