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...

Inheritance diagram for boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >:
boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc >, 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 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.
template<class SubType >
separate_interval_setoperator= (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Assignment operator.
 separate_interval_set (const interval_type &itv)
 Constructor for a single interval.
 separate_interval_set (const domain_type &elem)
 Constructor for a single element.
template<class SubType >
 separate_interval_set (const interval_base_set< SubType, DomainT, Compare, Interval, Alloc > &src)
 Copy constructor for base_type.
 separate_interval_set (const separate_interval_set &src)
 Copy constructor.
 separate_interval_set ()
 Default constructor for the empty object.

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::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(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::separate_interval_set< DomainT, Compare, Interval, Alloc >::overloadable_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>
typedef DomainT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::domain_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>
typedef DomainT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::codomain_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>
typedef DomainT boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::element_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>
typedef interval_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::segment_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>
typedef exclusive_less_than<interval_type> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::interval_compare
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::separate_interval_set< DomainT, Compare, Interval, Alloc >::key_compare
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::separate_interval_set< DomainT, Compare, Interval, Alloc >::allocator_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>
typedef Alloc<DomainT> boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::domain_allocator_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>
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.

Reimplemented from boost::icl::interval_base_set< separate_interval_set< DomainT, Compare, Interval, Alloc >, 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::separate_interval_set< DomainT, Compare, Interval, Alloc >::ImplSetT
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::separate_interval_set< DomainT, Compare, Interval, Alloc >::key_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>
typedef ImplSetT::value_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::data_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>
typedef ImplSetT::value_type boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::value_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>
typedef ImplSetT::iterator boost::icl::separate_interval_set< DomainT, Compare, Interval, Alloc >::iterator
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::separate_interval_set< DomainT, Compare, Interval, Alloc >::const_iterator

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::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(std::less, 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(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::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.

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::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_interval_set ( const domain_type elem  )  [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::separate_interval_set< DomainT, Compare, Interval, Alloc >::separate_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::separate_interval_set< DomainT, Compare, Interval, Alloc >::ICL_INTERVAL_TYPE ( Interval  ,
DomainT  ,
Compare   
)
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::separate_interval_set< DomainT, Compare, Interval, Alloc >::ICL_COMPARE_DOMAIN ( Compare  ,
DomainT   
)
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 >
separate_interval_set& boost::icl::separate_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::separate_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