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>classinterval_set:public boost::icl::interval_base_set< interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc >
{public:// typestypedefinterval_set<DomainT,Compare,Interval,Alloc>type;typedefinterval_base_set<type,DomainT,Compare,Interval,Alloc>base_type;// The base_type of this class. typedeftypeoverloadable_type;typedeftypejoint_type;typedeftypekey_object_type;typedefDomainTdomain_type;// The domain type of the set. typedefDomainTcodomain_type;// The codomaintype is the same as domain_type. typedefDomainTelement_type;// The element type of the set. typedefinterval_typesegment_type;// The segment type of the set. typedefexclusive_less_than<interval_type>interval_compare;// Comparison functor for intervals. typedefexclusive_less_than<interval_type>key_compare;// Comparison functor for keys. typedefAlloc<interval_type>allocator_type;// The allocator type of the set. typedefAlloc<DomainT>domain_allocator_type;// allocator type of the corresponding element set typedefbase_type::atomized_typeatomized_type;// The corresponding atomized type representing this interval container of elements. typedefbase_type::ImplSetTImplSetT;// Container type for the implementation. typedefImplSetT::key_typekey_type;// key type of the implementing container typedefImplSetT::value_typedata_type;// data type of the implementing container typedefImplSetT::value_typevalue_type;// value type of the implementing container typedefImplSetT::iteratoriterator;// iterator for iteration over intervals typedefImplSetT::const_iteratorconst_iterator;// const_iterator for iteration over intervals enum@9 { fineness = = 1 };// construct/copy/destructinterval_set();interval_set(constinterval_set&);template<typename SubType>explicitinterval_set(constinterval_base_set<SubType,DomainT,Compare,Interval,Alloc>&);explicitinterval_set(constdomain_type&);explicitinterval_set(constinterval_type&);interval_set(interval_set&&);template<typename SubType>interval_set&operator=(constinterval_base_set<SubType,DomainT,Compare,Interval,Alloc>&);interval_set&operator=(interval_set);// public member functionstypedefICL_INTERVAL_TYPE(Interval,DomainT,Compare);typedefICL_COMPARE_DOMAIN(Compare,DomainT);template<typename SubType>voidassign(constinterval_base_set<SubType,DomainT,Compare,Interval,Alloc>&);// private member functionsiteratorhandle_inserted(iterator);iteratoradd_over(constinterval_type&,iterator);iteratoradd_over(constinterval_type&);};
Статья Class template interval_set раздела Chapter 1. Boost.Icl Header <boost/icl/interval_set.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.