• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[/
2    Copyright (c) 2008-2009 Joachim Faulhaber
3
4    Distributed under the Boost Software License, Version 1.0.
5    (See accompanying file LICENSE_1_0.txt or copy at
6    http://www.boost.org/LICENSE_1_0.txt)
7]
8
9
10[/ //= Iterator related ===================================================================]
11[section Iterator related]
12
13
14[table
15[[['*Synopsis Complexities*]]                [__ch_itv_sets__][__ch_itv_maps__][__ch_ele_sets__][__ch_ele_maps__]   ]
16[[`J T::begin()`]                                  [__O1__]    [__O1__]   [__O1__]    [__O1__]   ]
17[[`J T::end()`]                                    [__O1__]    [__O1__]   [__O1__]    [__O1__]   ]
18[[`J T::rbegin()`]                                 [__O1__]    [__O1__]   [__O1__]    [__O1__]   ]
19[[`J T::rend()`]                                   [__O1__]    [__O1__]   [__O1__]    [__O1__]   ]
20[[`J T::lower_bound(const key_type&)`]            [__Olgn__]  [__Olgn__] [__Olgn__]  [__Olgn__] ]
21[[`J T::upper_bound(const key_type&)`]            [__Olgn__]  [__Olgn__] [__Olgn__]  [__Olgn__] ]
22[[`pair<J,J> T::equal_range(const key_type&)`]    [__Olgn__]  [__Olgn__] [__Olgn__]  [__Olgn__] ]
23]
24
25[table
26[[['*Iterator related*]]                                                                                    []     ]
27[[``      iterator T::begin()
28const_iterator T::begin()const``]                          [Returns an iterator to the first value of the container.]                        ]
29[[``      iterator T::end()
30const_iterator T::end()const``]                            [Returns an iterator to a position `end()` after the last value of the container.]]
31[[``      reverse_iterator T::rbegin()
32const_reverse_iterator T::rbegin()const``]                 [Returns a reverse iterator to the last value of the container.]                  ]
33[[``      reverse_iterator T::rend()
34const_reverse_iterator T::rend()const``]                   [Returns a reverse iterator to a position `rend()` before the first value of the container.]]
35[[``      iterator T::lower_bound(const key_type& k)
36const_iterator T::lower_bound(const key_type& key)const``][Returns an iterator that points to the first element `first`, that does not compare less than `key_type key`.
37                                                            `first` can be equal or greater than `key`, or it may overlap `key` for interval containers.]]
38[[``      iterator T::upper_bound(const key_type&)
39const_iterator T::upper_bound(const key_type&)const``]    [Returns an iterator that points to the first element `past`, that compares greater than `key_type key`.]]
40[[``
41            pair<iterator,iterator> T::equal_range(const key_type& key)
42pair<const_iterator,const_iterator> T::equal_range(const key_type& key)const
43``
44]
45    [Returns a range `[first, past)` of iterators to all elements of the container
46     that compare neither less than nor greater than `key_type key`.
47     For element containers __icl_set__ and __icl_map__, `equal_range`
48     contains at most one iterator pointing the element equal to `key`,
49     if it exists.
50
51     For interval containers `equal_range` contains iterators to all
52     intervals that overlap interval `key`.
53    ]]
54]
55
56[/
57Functions `begin`, `end`, `rbegin`, `rend` need ['*constant time*].
58Complexity of `lower_bound`, `upper_bound` and `equal_range` are
59['*logarithmic*] in the `iterative_size` of the container.
60]
61
62['*See also . . .*]
63[table
64[]
65[[[link boost_icl.function_reference.element_iteration ['*Element iteration*]] ]]
66]
67['*Back to section . . .*]
68[table
69[]
70[[[link function_synopsis_table ['*Function Synopsis*]]    ]]
71[[[link boost_icl.interface ['*Interface*]]                ]]
72]
73
74[endsect][/ Iterator related]
75
76
77