OKlibrary  0.2.1.6
OKlib::SearchDataStructures::AssociativePrefixContainer< Range > Class Template Reference

Class for associative container of ranges with lexicographic ordering. More...

#include <AssociativeContainers.hpp>

List of all members.

Classes

class  SortLexicographical
 Functor for lexicographic ordering of two range arguments.

Public Types

typedef Range prefix_type
typedef SetRanges::const_iterator iterator
typedef iterator const_iterator
typedef std::pair< iterator, bool > checked_iterator_type
typedef SetRanges::size_type size_type

Public Member Functions

 AssociativePrefixContainer ()
template<class Range2 >
 AssociativePrefixContainer (const Range2 &range)
template<class Range2 >
void assign (const Range2 &range)
iterator begin () const
iterator end () const
size_type size () const
std::pair< iterator, bool > insert (const Range &x)
iterator first_extension (const Range &r) const
checked_iterator_type first_extension_uniqueness_checked (const Range &r) const

Detailed Description

template<class Range>
class OKlib::SearchDataStructures::AssociativePrefixContainer< Range >

Class for associative container of ranges with lexicographic ordering.

Todo:

In a new module Iterators a metafunktion InverseRange<Range> should be implemented (in sub-module RangeAdaptors).

The lexicographical order on ranges should become independent (in module OrderRelations).

Add more natural functionality (for example ==, !=).

Create a concept (including providing appropriate container functionality).

Definition at line 43 of file AssociativeContainers.hpp.


Member Typedef Documentation

template<class Range >
typedef std::pair<iterator,bool> OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::checked_iterator_type

Definition at line 70 of file AssociativeContainers.hpp.

Definition at line 69 of file AssociativeContainers.hpp.

template<class Range >
typedef SetRanges::const_iterator OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::iterator

Definition at line 68 of file AssociativeContainers.hpp.

template<class Range >
typedef Range OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::prefix_type

Definition at line 67 of file AssociativeContainers.hpp.

template<class Range >
typedef SetRanges::size_type OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::size_type

Definition at line 71 of file AssociativeContainers.hpp.


Constructor & Destructor Documentation

Definition at line 73 of file AssociativeContainers.hpp.

template<class Range >
template<class Range2 >
OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::AssociativePrefixContainer ( const Range2 &  range) [inline]

Definition at line 76 of file AssociativeContainers.hpp.


Member Function Documentation

template<class Range >
template<class Range2 >
void OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::assign ( const Range2 &  range) [inline]

Definition at line 81 of file AssociativeContainers.hpp.

template<class Range >
iterator OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::begin ( ) const [inline]

Definition at line 85 of file AssociativeContainers.hpp.

template<class Range >
std::pair<iterator,bool> OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::insert ( const Range &  x) [inline]

Definition at line 96 of file AssociativeContainers.hpp.

template<class Range >
size_type OKlib::SearchDataStructures::AssociativePrefixContainer< Range >::size ( ) const [inline]

Definition at line 92 of file AssociativeContainers.hpp.


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