boost::icl::separate_interval_set — Implements a set as a set of intervals - leaving adjoining intervals separate.
Synopsis
// In header: <boost/icl/separate_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>classseparate_interval_set:public boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc >
{public:// typestypedefseparate_interval_set<DomainT,Compare,Interval,Alloc>type;typedefinterval_base_set<type,DomainT,Compare,Interval,Alloc>base_type;typedeftypeoverloadable_type;typedeftypekey_object_type;typedefinterval_set<DomainT,Compare,Interval,Alloc>joint_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@10 { fineness = = 2 };// construct/copy/destructseparate_interval_set();separate_interval_set(constseparate_interval_set&);template<typename SubType>separate_interval_set(constinterval_base_set<SubType,DomainT,Compare,Interval,Alloc>&);explicitseparate_interval_set(constdomain_type&);explicitseparate_interval_set(constinterval_type&);separate_interval_set(separate_interval_set&&);template<typename SubType>separate_interval_set&operator=(constinterval_base_set<SubType,DomainT,Compare,Interval,Alloc>&);separate_interval_set&operator=(separate_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&);};
Description
separate_interval_set
public
construct/copy/destruct
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.