boost::icl::interval_set< DomainT, Compare, Interval, Alloc > Class Template Reference

Implements a set as a set of intervals - merging adjoining intervals. More...

Inheritance diagram for boost::icl::interval_set< DomainT, Compare, Interval, Alloc >:
boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >

List of all members.

Public Types

typedef Alloc< interval_type > allocator_type
 The allocator type of the set.
typedef base_type::atomized_type atomized_type
 The corresponding atomized type representing this interval container of elements.
typedef interval_base_set
< type, DomainT, Compare,
Interval, Alloc > 
base_type
 The base_type of this class.
typedef DomainT codomain_type
 The codomaintype is the same as domain_type.
typedef ImplSetT::const_iterator const_iterator
 const_iterator for iteration over intervals
typedef ImplSetT::value_type data_type
 data type of the implementing container
typedef Alloc< DomainT > domain_allocator_type
 allocator type of the corresponding element set
typedef DomainT domain_type
 The domain type of the set.
typedef DomainT element_type
 The element type of the set.
typedef base_type::ImplSetT ImplSetT
 Container type for the implementation.
typedef exclusive_less_than
< interval_type > 
interval_compare
 Comparison functor for intervals.
typedef ImplSetT::iterator iterator
 iterator for iteration over intervals
typedef exclusive_less_than
< interval_type > 
key_compare
 Comparison functor for keys.
typedef ImplSetT::key_type key_type
 key type of the implementing container
typedef type overloadable_type
 Auxilliary type for overloadresolution.
typedef interval_type segment_type
 The segment type of the set.
typedef ImplSetT::value_type value_type
 value type of the implementing container

Public Member Functions

template<class SubType >
void assign (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Assignment from a base interval_set.
typedef ICL_COMPARE_DOMAIN (Compare, DomainT) domain_compare
 Comparison functor for domain values.
typedef ICL_INTERVAL_TYPE (Interval, DomainT, Compare) interval_type
 The interval type of the set.
 interval_set (const interval_type &itv)
 Constructor for a single interval.
 interval_set (const domain_type &value)
 Constructor for a single element.
template<class SubType >
 interval_set (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Copy constructor for base_type.
 interval_set (const interval_set &src)
 Copy constructor.
 interval_set ()
 Default constructor for the empty object.
template<class SubType >
interval_setoperator= (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Assignment operator.

Detailed Description

template<typename DomainT, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
class boost::icl::interval_set< DomainT, Compare, Interval, Alloc >

Implements a set as a set of intervals - merging adjoining intervals.


Member Typedef Documentation

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::base_type

The base_type of this class.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef type boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::overloadable_type

Auxilliary type for overloadresolution.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef DomainT boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::domain_type

The domain type of the set.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef DomainT boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::codomain_type

The codomaintype is the same as domain_type.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef DomainT boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::element_type

The element type of the set.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef interval_type boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::segment_type

The segment type of the set.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::interval_compare

Comparison functor for intervals.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::key_compare

Comparison functor for keys.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::allocator_type

The allocator type of the set.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef Alloc<DomainT> boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::domain_allocator_type

allocator type of the corresponding element set

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::atomized_type

The corresponding atomized type representing this interval container of elements.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::ImplSetT

Container type for the implementation.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::key_type

key type of the implementing container

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::data_type

data type of the implementing container

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::value_type

value type of the implementing container

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef ImplSetT::iterator boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::iterator

iterator for iteration over intervals

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::const_iterator

const_iterator for iteration over intervals

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.


Constructor & Destructor Documentation

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::interval_set (  )  [inline]

Default constructor for the empty object.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::interval_set ( const interval_set< DomainT, Compare, Interval, Alloc > &  src  )  [inline]

Copy constructor.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
template<class SubType >
boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::interval_set ( const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &  src  )  [inline, explicit]

Copy constructor for base_type.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::interval_set ( const domain_type value  )  [inline, explicit]

Constructor for a single element.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::interval_set ( const interval_type &  itv  )  [inline, explicit]

Constructor for a single interval.


Member Function Documentation

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::ICL_INTERVAL_TYPE ( Interval  ,
DomainT  ,
Compare   
)

The interval type of the set.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
typedef boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::ICL_COMPARE_DOMAIN ( Compare  ,
DomainT   
)

Comparison functor for domain values.

Reimplemented from boost::icl::interval_base_set< SubType, DomainT, Compare, Interval, Alloc >.

template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, DomainT), ICL_INTERVAL(ICL_COMPARE) Interval = ICL_INTERVAL_INSTANCE(ICL_INTERVAL_DEFAULT, DomainT, Compare), ICL_ALLOC Alloc = std::allocator>
template<class SubType >
interval_set& boost::icl::interval_set< DomainT, Compare, Interval, Alloc >::operator= ( const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &  src  )  [inline]
template<typename DomainT , ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(std::less, 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::interval_set< DomainT, Compare, Interval, Alloc >::assign ( const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &  src  )  [inline]

Assignment from a base interval_set.


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

Generated by  doxygen 1.6.2