Ranges::List< RangeT, TraitsT, ContainerT > Class Template Reference

#include <List.hpp>

List of all members.

Public Types

typedef RangeT range_type
typedef ContainerT container_type
typedef TraitsT< RangeT, ContainerT > Traits
typedef range_type::size_type range_size_type
typedef range_type::payload_type payload_type
typedef RangeCompare< payload_type,
range_size_type
compare_type
typedef ListError< range_typeListException
typedef container_type::value_type value_Type
typedef container_type::pointer pointer
typedef container_type::const_pointer const_pointer
typedef container_type::reference reference
typedef container_type::const_reference const_reference
typedef container_type::iterator iterator
typedef container_type::const_iterator const_iterator
typedef container_type::reverse_iterator reverse_iterator
typedef container_type::const_reverse_iterator const_reverse_iterator
typedef container_type::size_type size_type
typedef container_type::difference_type difference_type
typedef std::pair< iterator,
iterator
iterator_pair
typedef std::pair< const_iterator,
const_iterator
const_iterator_pair

Public Member Functions

 List ()
 List (typename Traits::ctor_arg_type arg)
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
bool empty () const
size_type size () const
void clear ()
range_size_type insert (const range_type &value)
template<typename input_iterator>
range_size_type insert (input_iterator first, input_iterator last)
range_size_type insert (const iterator where, const range_type &value)
range_size_type erase (const range_type &value)
template<typename input_iterator>
range_size_type erase (input_iterator first, input_iterator last)
range_size_type erase (const iterator where)
void swap (List &rhs)
iterator lower_bound (const range_type &key)
const_iterator lower_bound (const range_type &key) const
iterator upper_bound (const range_type &key)
const_iterator upper_bound (const range_type &key) const
iterator_pair equal_range (const range_type &key)
const_iterator_pair equal_range (const range_type &key) const
iterator_pair merge_range (const range_type &key)
const_iterator_pair merge_range (const range_type &key) const
iterator largest_range ()
const_iterator largest_range () const
iterator random_range ()
const_iterator random_range () const
bool overlaps (const range_type &key) const
bool overlaps (const List &rhs) const
range_size_type overlapping_sum (const range_type &key) const
bool has_position (range_size_type where) const

Private Attributes

container_type m_set

Classes

struct  cmp_size
struct  overlaps_helper

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
class Ranges::List< RangeT, TraitsT, ContainerT >


Member Typedef Documentation

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef RangeT Ranges::List< RangeT, TraitsT, ContainerT >::range_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef ContainerT Ranges::List< RangeT, TraitsT, ContainerT >::container_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef TraitsT< RangeT, ContainerT > Ranges::List< RangeT, TraitsT, ContainerT >::Traits

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef range_type::size_type Ranges::List< RangeT, TraitsT, ContainerT >::range_size_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef range_type::payload_type Ranges::List< RangeT, TraitsT, ContainerT >::payload_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef RangeCompare< payload_type, range_size_type > Ranges::List< RangeT, TraitsT, ContainerT >::compare_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef ListError< range_type > Ranges::List< RangeT, TraitsT, ContainerT >::ListException

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::value_type Ranges::List< RangeT, TraitsT, ContainerT >::value_Type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::pointer Ranges::List< RangeT, TraitsT, ContainerT >::pointer

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::const_pointer Ranges::List< RangeT, TraitsT, ContainerT >::const_pointer

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::reference Ranges::List< RangeT, TraitsT, ContainerT >::reference

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::const_reference Ranges::List< RangeT, TraitsT, ContainerT >::const_reference

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::iterator Ranges::List< RangeT, TraitsT, ContainerT >::iterator

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::const_iterator

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::reverse_iterator Ranges::List< RangeT, TraitsT, ContainerT >::reverse_iterator

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::const_reverse_iterator Ranges::List< RangeT, TraitsT, ContainerT >::const_reverse_iterator

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::size_type Ranges::List< RangeT, TraitsT, ContainerT >::size_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef container_type::difference_type Ranges::List< RangeT, TraitsT, ContainerT >::difference_type

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef std::pair< iterator, iterator > Ranges::List< RangeT, TraitsT, ContainerT >::iterator_pair

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
typedef std::pair< const_iterator, const_iterator > Ranges::List< RangeT, TraitsT, ContainerT >::const_iterator_pair


Constructor & Destructor Documentation

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
Ranges::List< RangeT, TraitsT, ContainerT >::List (  )  [inline, explicit]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
Ranges::List< RangeT, TraitsT, ContainerT >::List ( typename Traits::ctor_arg_type  arg  )  [inline, explicit]


Member Function Documentation

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator Ranges::List< RangeT, TraitsT, ContainerT >::begin (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::begin (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator Ranges::List< RangeT, TraitsT, ContainerT >::end (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::end (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
reverse_iterator Ranges::List< RangeT, TraitsT, ContainerT >::rbegin (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_reverse_iterator Ranges::List< RangeT, TraitsT, ContainerT >::rbegin (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
reverse_iterator Ranges::List< RangeT, TraitsT, ContainerT >::rend (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_reverse_iterator Ranges::List< RangeT, TraitsT, ContainerT >::rend (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
bool Ranges::List< RangeT, TraitsT, ContainerT >::empty (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
size_type Ranges::List< RangeT, TraitsT, ContainerT >::size (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
void Ranges::List< RangeT, TraitsT, ContainerT >::clear (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT>
RangeT::size_type Ranges::List< RangeT, TraitsT, ContainerT >::insert ( const range_type value  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
template<typename input_iterator>
range_size_type Ranges::List< RangeT, TraitsT, ContainerT >::insert ( input_iterator  first,
input_iterator  last 
) [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
range_size_type Ranges::List< RangeT, TraitsT, ContainerT >::insert ( const iterator  where,
const range_type value 
)

template<class RangeT, template< class, class > class TraitsT, class ContainerT>
RangeT::size_type Ranges::List< RangeT, TraitsT, ContainerT >::erase ( const range_type value  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
template<typename input_iterator>
range_size_type Ranges::List< RangeT, TraitsT, ContainerT >::erase ( input_iterator  first,
input_iterator  last 
) [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
range_size_type Ranges::List< RangeT, TraitsT, ContainerT >::erase ( const iterator  where  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
void Ranges::List< RangeT, TraitsT, ContainerT >::swap ( List< RangeT, TraitsT, ContainerT > &  rhs  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator Ranges::List< RangeT, TraitsT, ContainerT >::lower_bound ( const range_type key  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::lower_bound ( const range_type key  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator Ranges::List< RangeT, TraitsT, ContainerT >::upper_bound ( const range_type key  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::upper_bound ( const range_type key  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator_pair Ranges::List< RangeT, TraitsT, ContainerT >::equal_range ( const range_type key  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator_pair Ranges::List< RangeT, TraitsT, ContainerT >::equal_range ( const range_type key  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator_pair Ranges::List< RangeT, TraitsT, ContainerT >::merge_range ( const range_type key  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator_pair Ranges::List< RangeT, TraitsT, ContainerT >::merge_range ( const range_type key  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator Ranges::List< RangeT, TraitsT, ContainerT >::largest_range (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::largest_range (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
iterator Ranges::List< RangeT, TraitsT, ContainerT >::random_range (  )  [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
const_iterator Ranges::List< RangeT, TraitsT, ContainerT >::random_range (  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
bool Ranges::List< RangeT, TraitsT, ContainerT >::overlaps ( const range_type key  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
bool Ranges::List< RangeT, TraitsT, ContainerT >::overlaps ( const List< RangeT, TraitsT, ContainerT > &  rhs  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
range_size_type Ranges::List< RangeT, TraitsT, ContainerT >::overlapping_sum ( const range_type key  )  const [inline]

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
bool Ranges::List< RangeT, TraitsT, ContainerT >::has_position ( range_size_type  where  )  const [inline]


Member Data Documentation

template<class RangeT, template< class, class > class TraitsT, class ContainerT = std::set < RangeT, RangeCompare< RangeT::size_type, RangeT::payload_type > >>
container_type Ranges::List< RangeT, TraitsT, ContainerT >::m_set [private]


The documentation for this class was generated from the following file:
Generated on Wed Aug 8 03:46:48 2007 for Shareaza by  doxygen 1.5.2