Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc > Class Template Reference

Implements a set as a set of intervals - leaving adjoining intervals separate. More...

#include <separate_interval_set.hpp>

Inheritance diagram for boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >:
Collaboration diagram for boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >:

Public Types

enum  { fineness = 2 }
 
typedef separate_interval_set
< DomainT, Compare, Interval,
Alloc > 
type
 
typedef interval_base_set
< type, DomainT, Compare,
Interval, Alloc > 
base_type
 
typedef type overloadable_type
 
typedef type key_object_type
 
typedef interval_set< DomainT,
Compare, Interval, Alloc > 
joint_type
 
typedef DomainT domain_type
 The domain type of the set. More...
 
typedef DomainT codomain_type
 The codomaintype is the same as domain_type. More...
 
typedef DomainT element_type
 The element type of the set. More...
 
typedef interval_type segment_type
 The segment type of the set. More...
 
typedef exclusive_less_than
< interval_type > 
interval_compare
 Comparison functor for intervals. More...
 
typedef exclusive_less_than
< interval_type > 
key_compare
 Comparison functor for keys. More...
 
typedef Alloc< interval_type > allocator_type
 The allocator type of the set. More...
 
typedef Alloc< DomainT > domain_allocator_type
 allocator type of the corresponding element set More...
 
typedef base_type::atomized_type atomized_type
 The corresponding atomized type representing this interval container of elements. More...
 
typedef base_type::ImplSetT ImplSetT
 Container type for the implementation. More...
 
typedef ImplSetT::key_type key_type
 key type of the implementing container More...
 
typedef ImplSetT::value_type data_type
 data type of the implementing container More...
 
typedef ImplSetT::value_type value_type
 value type of the implementing container More...
 
typedef ImplSetT::iterator iterator
 iterator for iteration over intervals More...
 
typedef ImplSetT::const_iterator const_iterator
 const_iterator for iteration over intervals More...
 
typedef separate_interval_set
< DomainT, Compare, Interval,
Alloc > 
sub_type
 The designated derived or sub_type of this base class. More...
 
typedef difference_type_of
< domain_type >::type 
difference_type
 The difference type of an interval which is sometimes different form the data_type. More...
 
typedef size_type_of
< domain_type >::type 
size_type
 The size type of an interval which is mostly std::size_t. More...
 
typedef ImplSetT::pointer pointer
 pointer type More...
 
typedef ImplSetT::const_pointer const_pointer
 const pointer type More...
 
typedef ImplSetT::reference reference
 reference type More...
 
typedef ImplSetT::const_reference const_reference
 const reference type More...
 
typedef ImplSetT::reverse_iterator reverse_iterator
 iterator for reverse iteration over intervals More...
 
typedef
ImplSetT::const_reverse_iterator 
const_reverse_iterator
 const_iterator for iteration over intervals More...
 
typedef
boost::icl::element_iterator
< iterator
element_iterator
 element iterator: Depreciated, see documentation. More...
 
typedef
boost::icl::element_iterator
< const_iterator
element_const_iterator
 element const iterator: Depreciated, see documentation. More...
 
typedef
boost::icl::element_iterator
< reverse_iterator
element_reverse_iterator
 element reverse iterator: Depreciated, see documentation. More...
 
typedef
boost::icl::element_iterator
< const_reverse_iterator
element_const_reverse_iterator
 element const reverse iterator: Depreciated, see documentation. More...
 

Public Member Functions

typedef ICL_INTERVAL_TYPE (Interval, DomainT, Compare) interval_type
 The interval type of the set. More...
 
typedef ICL_COMPARE_DOMAIN (Compare, DomainT) domain_compare
 Comparison functor for domain values. More...
 
 separate_interval_set ()
 Default constructor for the empty object. More...
 
 separate_interval_set (const separate_interval_set &src)
 Copy constructor. More...
 
template<class SubType >
 separate_interval_set (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Copy constructor for base_type. More...
 
 separate_interval_set (const domain_type &elem)
 Constructor for a single element. More...
 
 separate_interval_set (const interval_type &itv)
 Constructor for a single interval. More...
 
template<class SubType >
void assign (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Assignment from a base interval_set. More...
 
template<class SubType >
separate_interval_setoperator= (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Assignment operator for base type. More...
 
 separate_interval_set (separate_interval_set &&src)
 Move constructor. More...
 
separate_interval_setoperator= (separate_interval_set src)
 Move assignment operator. More...
 
typedef ICL_COMPARE_DOMAIN (Compare, segment_type) segment_compare
 
 BOOST_STATIC_CONSTANT (int, fineness=0)
 
void swap (interval_base_set &operand)
 swap the content of containers More...
 
void clear ()
 sets the container empty More...
 
bool empty () const
 is the container empty? More...
 
size_type size () const
 An interval set's size is it's cardinality. More...
 
std::size_t iterative_size () const
 Size of the iteration over this container. More...
 
const_iterator find (const element_type &key_value) const
 Find the interval, that contains element key_value. More...
 
const_iterator find (const interval_type &key_interval) const
 Find the first interval, that collides with interval key_interval. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
add (const element_type &key)
 Add a single element key to the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
add (const segment_type &inter_val)
 Add an interval of elements inter_val to the set. More...
 
iterator add (iterator prior_, const segment_type &inter_val)
 Add an interval of elements inter_val to the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
subtract (const element_type &key)
 Subtract a single element key from the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
subtract (const segment_type &inter_val)
 Subtract an interval of elements inter_val from the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
insert (const element_type &key)
 Insert an element key into the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
insert (const segment_type &inter_val)
 Insert an interval of elements inter_val to the set. More...
 
iterator insert (iterator prior_, const segment_type &inter_val)
 Insert an interval of elements inter_val to the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
erase (const element_type &key)
 Erase an element key from the set. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
erase (const segment_type &inter_val)
 Erase an interval of elements inter_val from the set. More...
 
void erase (iterator position)
 Erase the interval that iterator position points to. More...
 
void erase (iterator first, iterator past)
 Erase all intervals in the range [first,past) of iterators. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
flip (const element_type &key)
 If *this set contains key it is erased, otherwise it is added. More...
 
separate_interval_set< DomainT,
Compare, Interval, Alloc > & 
flip (const segment_type &inter_val)
 If *this set contains inter_val it is erased, otherwise it is added. More...
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
iterator lower_bound (const value_type &interval)
 
const_iterator lower_bound (const value_type &interval) const
 
iterator upper_bound (const value_type &interval)
 
const_iterator upper_bound (const value_type &interval) const
 
std::pair< iterator, iteratorequal_range (const key_type &interval)
 
std::pair< const_iterator,
const_iterator
equal_range (const key_type &interval) const
 

Protected Member Functions

void add_front (const interval_type &inter_val, iterator &first_)
 
void add_main (interval_type &inter_val, iterator &it_, const iterator &last_)
 
void add_segment (const interval_type &inter_val, iterator &it_)
 
void add_rear (const interval_type &inter_val, iterator &it_)
 
sub_typethat ()
 
const sub_typethat () const
 

Protected Attributes

ImplSetT _set
 

Friends

class interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc >
 

Detailed Description

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 boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >

Implements a set as a set of intervals - leaving adjoining intervals separate.

Member Typedef Documentation

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>
typedef Alloc<interval_type> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::allocator_type

The allocator type of the set.

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>
typedef base_type::atomized_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::atomized_type

The corresponding atomized type representing this interval container of elements.

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>
typedef interval_base_set<type,DomainT,Compare,Interval,Alloc> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::base_type
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>
typedef DomainT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::codomain_type

The codomaintype is the same as domain_type.

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>
typedef ImplSetT::const_iterator boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::const_iterator

const_iterator for iteration over intervals

typedef ImplSetT::const_pointer boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::const_pointer
inherited

const pointer type

typedef ImplSetT::const_reference boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::const_reference
inherited

const reference type

typedef ImplSetT::const_reverse_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::const_reverse_iterator
inherited

const_iterator for iteration over intervals

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>
typedef ImplSetT::value_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::data_type

data type of the implementing container

typedef difference_type_of<domain_type>::type boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::difference_type
inherited

The difference type of an interval which is sometimes different form the data_type.

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>
typedef Alloc<DomainT> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::domain_allocator_type

allocator type of the corresponding element set

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>
typedef DomainT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::domain_type

The domain type of the set.

typedef boost::icl::element_iterator<const_iterator> boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::element_const_iterator
inherited

element const iterator: Depreciated, see documentation.

typedef boost::icl::element_iterator<const_reverse_iterator> boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::element_const_reverse_iterator
inherited

element const reverse iterator: Depreciated, see documentation.

typedef boost::icl::element_iterator<iterator> boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::element_iterator
inherited

element iterator: Depreciated, see documentation.

typedef boost::icl::element_iterator<reverse_iterator> boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::element_reverse_iterator
inherited

element reverse iterator: Depreciated, see documentation.

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>
typedef DomainT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::element_type

The element type of the set.

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>
typedef base_type::ImplSetT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::ImplSetT

Container type for the implementation.

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>
typedef exclusive_less_than<interval_type> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::interval_compare

Comparison functor for intervals.

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>
typedef ImplSetT::iterator boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::iterator

iterator for iteration over intervals

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>
typedef interval_set<DomainT,Compare,Interval,Alloc> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::joint_type
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>
typedef exclusive_less_than<interval_type> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::key_compare

Comparison functor for keys.

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>
typedef type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::key_object_type
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>
typedef ImplSetT::key_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::key_type

key type of the implementing container

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>
typedef type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::overloadable_type
typedef ImplSetT::pointer boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::pointer
inherited

pointer type

typedef ImplSetT::reference boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::reference
inherited

reference type

typedef ImplSetT::reverse_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::reverse_iterator
inherited

iterator for reverse iteration over intervals

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>
typedef interval_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::segment_type

The segment type of the set.

typedef size_type_of<domain_type>::type boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::size_type
inherited

The size type of an interval which is mostly std::size_t.

typedef separate_interval_set< DomainT, Compare, Interval, Alloc > boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::sub_type
inherited

The designated derived or sub_type of this base class.

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>
typedef separate_interval_set<DomainT,Compare,Interval,Alloc> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::type
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>
typedef ImplSetT::value_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::value_type

value type of the implementing container

Member Enumeration Documentation

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>
anonymous enum
Enumerator
fineness 

Constructor & Destructor Documentation

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>
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( )
inline

Default constructor for the empty object.

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>
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( const separate_interval_set< DomainT, Compare, Interval, Alloc > &  src)
inline

Copy constructor.

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>
template<class SubType >
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &  src)
inline

Copy constructor for base_type.

References boost::assign().

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>
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( const domain_type elem)
inlineexplicit

Constructor for a single element.

References boost::icl::add().

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>
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( const interval_type &  itv)
inlineexplicit

Constructor for a single interval.

References boost::icl::add().

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>
boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( separate_interval_set< DomainT, Compare, Interval, Alloc > &&  src)
inline

Move constructor.

Member Function Documentation

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add ( const element_type key)
inlineinherited

Add a single element key to the set.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add ( const segment_type inter_val)
inlineinherited

Add an interval of elements inter_val to the set.

iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add ( iterator  prior_,
const segment_type inter_val 
)
inlineinherited

Add an interval of elements inter_val to the set.

Iterator prior_ is a hint to the position inter_val can be inserted after.

void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add_front ( const interval_type &  inter_val,
iterator first_ 
)
protectedinherited
void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add_main ( interval_type &  inter_val,
iterator it_,
const iterator last_ 
)
protectedinherited
void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add_rear ( const interval_type &  inter_val,
iterator it_ 
)
protectedinherited
void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::add_segment ( const interval_type &  inter_val,
iterator it_ 
)
protectedinherited
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>
template<class SubType >
void boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::assign ( const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &  src)
inline
iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::begin ( void  )
inlineinherited
const_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::begin ( void  ) const
inlineinherited
boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::BOOST_STATIC_CONSTANT ( int  ,
fineness  = 0 
)
inherited
void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::clear ( void  )
inlineinherited

sets the container empty

bool boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::empty ( void  ) const
inlineinherited

is the container empty?

iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::end ( void  )
inlineinherited
const_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::end ( void  ) const
inlineinherited
std::pair<iterator,iterator> boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::equal_range ( const key_type interval)
inlineinherited
std::pair<const_iterator,const_iterator> boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::equal_range ( const key_type interval) const
inlineinherited
separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::erase ( const element_type key)
inlineinherited

Erase an element key from the set.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::erase ( const segment_type inter_val)
inlineinherited

Erase an interval of elements inter_val from the set.

void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::erase ( iterator  position)
inlineinherited

Erase the interval that iterator position points to.

void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::erase ( iterator  first,
iterator  past 
)
inlineinherited

Erase all intervals in the range [first,past) of iterators.

const_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::find ( const element_type key_value) const
inlineinherited

Find the interval, that contains element key_value.

const_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::find ( const interval_type &  key_interval) const
inlineinherited

Find the first interval, that collides with interval key_interval.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::flip ( const element_type key)
inlineinherited

If *this set contains key it is erased, otherwise it is added.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::flip ( const segment_type inter_val)
inlineinherited

If *this set contains inter_val it is erased, otherwise it is added.

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>
typedef boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::ICL_COMPARE_DOMAIN ( Compare  ,
DomainT   
)

Comparison functor for domain values.

typedef boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::ICL_COMPARE_DOMAIN ( Compare  ,
segment_type   
)
inherited
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>
typedef boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::ICL_INTERVAL_TYPE ( Interval  ,
DomainT  ,
Compare   
)

The interval type of the set.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::insert ( const element_type key)
inlineinherited

Insert an element key into the set.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::insert ( const segment_type inter_val)
inlineinherited

Insert an interval of elements inter_val to the set.

iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::insert ( iterator  prior_,
const segment_type inter_val 
)
inlineinherited

Insert an interval of elements inter_val to the set.

Iterator prior_ is a hint to the position inter_val can be inserted after.

std::size_t boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::iterative_size ( ) const
inlineinherited

Size of the iteration over this container.

iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::lower_bound ( const value_type interval)
inlineinherited
const_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::lower_bound ( const value_type interval) const
inlineinherited
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>
template<class SubType >
separate_interval_set& boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::operator= ( const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &  src)
inline

Assignment operator for base type.

References boost::assign().

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>
separate_interval_set& boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::operator= ( separate_interval_set< DomainT, Compare, Interval, Alloc >  src)
inline

Move assignment operator.

References boost::move(), and boost::multiprecision::backends::operator=().

reverse_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::rbegin ( )
inlineinherited
const_reverse_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::rbegin ( ) const
inlineinherited
reverse_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::rend ( )
inlineinherited
const_reverse_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::rend ( ) const
inlineinherited
size_type boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::size ( void  ) const
inlineinherited

An interval set's size is it's cardinality.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::subtract ( const element_type key)
inlineinherited

Subtract a single element key from the set.

separate_interval_set< DomainT, Compare, Interval, Alloc > & boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::subtract ( const segment_type inter_val)
inherited

Subtract an interval of elements inter_val from the set.

void boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::swap ( interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc >, DomainT, Compare, Interval, Alloc > &  operand)
inlineinherited

swap the content of containers

sub_type* boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::that ( )
inlineprotectedinherited
const sub_type* boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::that ( ) const
inlineprotectedinherited
iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::upper_bound ( const value_type interval)
inlineinherited
const_iterator boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::upper_bound ( const value_type interval) const
inlineinherited

Friends And Related Function Documentation

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>
friend class interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc >,DomainT, Compare, Interval, Alloc >
friend

Member Data Documentation

ImplSetT boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc > , DomainT, Compare, Interval, Alloc >::_set
protectedinherited

The documentation for this class was generated from the following file: