13 #ifndef SPATIAL_EQUAL_ITERATOR_HPP
14 #define SPATIAL_EQUAL_ITERATOR_HPP
16 #include "spatial.hpp"
17 #include "bits/spatial_equal.hpp"
27 template <
typename Container>
29 : std::pair<equal_iterator<Container>,
30 equal_iterator<Container> >
36 typedef std::pair<equal_iterator<Container>,
55 template <
typename Container>
57 : std::pair<equal_iterator<const Container>,
58 equal_iterator<const Container> >
64 typedef std::pair<equal_iterator<const Container>,
79 : Base(p.first, p.second) { }
90 template <
typename Container>
92 inline equal_iterator_pair<Container>
100 template <
typename Container>
101 inline equal_iterator_pair<const Container>
109 template <
typename Container>
110 inline equal_iterator_pair<const Container>
121 #endif // SPATIAL_EQUAL_ITERATOR_HPP
equal_iterator_pair()
Empty constructor.
This type provides an iterator to iterate through all elements of a container that match a given key...
This type provides an iterator to iterate through all elements of a container that match a given key...
equal_iterator_pair< Container > equal_range(Container &container, const typename equal_iterator< Container >::key_type &model)
Creates a pair of iterator that represent the range of element in the container that are equal to the...
equal_iterator_pair< const Container > equal_crange(const Container &container, const typename equal_iterator< Container >::key_type &model)
equal_iterator_pair()
Empty constructor.
std::pair< equal_iterator< Container >, equal_iterator< Container > > Base
A pair of iterators that represents a range (that is: a range of elements to iterate, and not an orthogonal range).
This structure defines a pair of constant equal iterator.
std::pair< equal_iterator< const Container >, equal_iterator< const Container > > Base
A pair of iterators that represents a range (that is: a range of elements to iterate, and not an orthogonal range).
equal_iterator_pair(const equal_iterator< Container > &a, const equal_iterator< Container > &b)
Regular constructor that builds a equal_iterator_pair out of 2 equal_iterators.
The main namespace used in the library.
equal_iterator< Container > equal_end(Container &container, const typename equal_iterator< Container >::key_type &value)
equal_iterator_pair(const equal_iterator_pair< Container > &p)
Convert a mutable equal iterator pair into a const equal iterator pair.
This structure defines a pair of mutable equal iterator.
container_traits< Container >::key_type key_type
The type used to store the model key to be looked up in the container.
equal_iterator< Container > equal_begin(Container &container, const typename equal_iterator< Container >::key_type &value)
Find the first element in container that compares equally to value, using container's key_compare com...
equal_iterator_pair(const equal_iterator< const Container > &a, const equal_iterator< const Container > &b)
Regular constructor that builds a equal_iterator_pair out of 2 equal_iterators.