__gnu_debug_def::set(3)
NAME
__gnu_debug_def::set
SYNOPSIS
Inherits std::set< Key, Compare, Allocator >, and __gnu_debug::Safe_sequence< Sequence >< __gnu_debug_def::set<
Key, Compare, Allocator > >
- Public Types
- typedef Key key_type
Public typedefs.
- typedef Key value_type
typedef Compare key_compare
typedef Compare value_compare
typedef Allocator allocator_type
typedef Allocator::reference reference
typedef Allocator::const_reference const_reference typedef __gnu_debug::Safe_iterator< typename
Base::iterator
typedef __gnu_debug::Safe_iterator< typename
Base::const_iterator
- typedef Base::size_type size_type
typedef Base::difference_type difference_type
typedef Allocator::pointer pointer
- Iterator-related typedefs.
- typedef Allocator::const_pointer const_pointer typedef std::reverse_iterator< iterator > reverse_iterator typedef std::reverse_iterator< const_iterator >
- const_reverse_iterator
- Public Member Functions
- set (const Compare &comp=Compare(), const Allocator &a=Al
- locator())
template<typename InputIterator> set (InputIterator first, - InputIterator last, const Compare &comp=Compare(), const Alloca
- tor &a=Allocator())
set (const set< Key, Compare, Allocator > &x)
set (const Base &x)Set copy constructor. - ~set ()
set< Key, Compare, Allocator > & operator= (const set< - Key, Compare, Allocator > &x)
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 std::pair< iterator, bool > insert (const value_type &x)Attempts to insert an element into the set. - iterator insert (iterator position, const value_type &x) template<typename InputIterator> void insert (InputItera
- tor first, InputIterator last)
A template function that attemps to insert a range ofelements.
- void erase (iterator position)
size_type erase (const key_type &x)Erases elements according to the provided key. - void erase (iterator first, iterator last)
void swap (set< Key, Compare, Allocator > &x)
void clear ()
iterator find (const key_type &x)Tries to locate an element in a set. - const_iterator find (const key_type &x) const
iterator lower_bound (const key_type &x)
Finds the beginning of a subsequence matching givenkey.
- const_iterator lower_bound (const key_type &x) const
iterator upper_bound (const key_type &x)
Finds the end of a subsequence matching given key.
- const_iterator upper_bound (const key_type &x) const std::pair< iterator, iterator > equal_range (const
- key_type &x)
Finds a subsequence matching given key.
- std::pair< const_iterator, const_iterator > equal_range
- (const key_type &x) const
Base & M_base ()
const Base & M_base () const
key_compare key_comp () constReturns the comparison object with which the set wasconstructed. - value_compare value_comp () const
Returns the comparison object with which the set wasconstructed.
- allocator_type get_allocator () const
Returns the allocator object with which the set wasconstructed.
- bool empty () const
Returns true if the set is empty.
- size_type size () const
Returns the size of the set.
- size_type max_size () const
Returns the maximum size of the set.
- void swap (set< Key, Compare, Allocator > &x)
Swaps data with another set.
- iterator insert (iterator position, const value_type &x)
Attempts to insert an element into the set.
- void erase (iterator position)
Erases an element from a set.
- void erase (iterator first, iterator last)
Erases a [first,last) range of elements from a set.
- size_type count (const key_type &x) const
Finds the number of elements.
- template<typename Predicate> void M_invalidate_if (Predi
- cate pred)
template<typename Iterator> void M_transfer_iter (const - Safe_iterator< Iterator, Sequence > &x)
void M_invalidate_all () const - Public Attributes
- Safe_iterator_base * M_iterators
The list of mutable iterators that reference thiscontainer.
- Safe_iterator_base * M_const_iterators
The list of constant iterators that reference thiscontainer.
- unsigned int M_version
The container version number. This number may never be0.
- Protected Member Functions
- void M_detach_all ()
void M_detach_singular ()
void M_revalidate_singular () void M_swap (Safe_sequence_base &x) - Private Types
- typedef std::set< Key, Compare, Allocator > Base typedef __gnu_debug::Safe_sequence< set > Safe_base
- Private Member Functions
- void M_invalidate_all ()
Detailed Description
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> class
- __gnu_debug_def::set< Key, Compare, Allocator >
- Definition at line 42 of file debug/set.h.
Member Typedef Documentation
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> typedef Key
- __gnu_debug_def::set< Key, Compare, Allocator >::key_type
- Public typedefs.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 51 of file debug/set.h.
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> typedef
Allocator::pointer __gnu_debug_def::set< Key, Compare, Allocator
>::pointer
Iterator-related typedefs.
Reimplemented from std::set< Key, Compare, Allocator >.
Definition at line 66 of file debug/set.h.
Constructor & Destructor Documentation
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> __gnu_debug_def::set<
Key, Compare, Allocator >::set (const Base & x) [inline]
Set copy constructor.
- Parameters:
- x A set of identical element and allocator types.
- The newly-created set uses a copy of the allocation object
- used by x.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 86 of file debug/set.h.
Member Function Documentation
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> const_iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::begin () const
- [inline]
- Returns a read/write iterator that points to the first el
- ement in the set. Iteration is done in ascending order according
- to the keys.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 106 of file debug/set.h.
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> const_iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::end () const
- [inline]
- Returns a read/write iterator that points one past the
- last element in the set. Iteration is done in ascending order ac
- cording to the keys.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 114 of file debug/set.h.
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> const_reverse_iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::rbegin () const
- [inline]
- Returns a read/write reverse iterator that points to the
- last element in the set. Iteration is done in descending order
- according to the keys.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 122 of file debug/set.h.
- References __gnu_debug_def::set< Key, Compare, Allocator
- >::end().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> const_reverse_iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::rend () const
- [inline]
- Returns a read-only (constant) reverse iterator that
- points to the last pair in the map. Iteration is done in descend
- ing order according to the keys.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 130 of file debug/set.h.
- References __gnu_debug_def::set< Key, Compare, Allocator
- >::begin().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> std::pair<iterator,
- bool> __gnu_debug_def::set< Key, Compare, Allocator >::insert
- (const value_type & x) [inline]
- Attempts to insert an element into the set.
- Parameters:
x Element to be inserted.
- Returns:
A pair, of which the first element is an iterator thatpoints to the possibly inserted element, and the second is a boolthat is true if the element was actually inserted.
- This function attempts to insert an element into the set.
- A set relies on unique keys and thus an element is only inserted
- if it is not already present in the set.
- Insertion requires logarithmic time.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 140 of file debug/set.h.
- References std::pair< T1, T2 >::first, and std::pair< T1,
- T2 >::second.
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> template<typename
InputIterator> void __gnu_debug_def::set< Key, Compare, Allocator
- >::insert (InputIterator first, InputIterator last) [inline] A template function that attemps to insert a range of ele
- ments.
- Parameters:
- first Iterator pointing to the start of the range to
- be inserted.
last Iterator pointing to the end of the range. - Complexity similar to that of the range constructor.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 157 of file debug/set.h.
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> size_type
- __gnu_debug_def::set< Key, Compare, Allocator >::erase (const
- key_type & x) [inline]
- Erases elements according to the provided key.
- Parameters:
x Key of element to be erased.
- Returns:
The number of elements erased.
- This function erases all the elements located by the given
- key from a set. Note that this function only erases the element,
- and that if the element is itself a pointer, the pointed-to memo
- ry is not touched in any way. Managing the pointer is the user's
- responsibilty.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 172 of file debug/set.h.
- References __gnu_debug::Safe_iterator< Iterator, Sequence
- >::base(), __gnu_debug_def::set< Key, Compare, Allocator
- >::end(), and __gnu_debug_def::set< Key, Compare, Allocator
- >::find().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> void
- __gnu_debug_def::set< Key, Compare, Allocator >::clear ()
- [inline]
- Erases all elements in a set. Note that this function only
- erases the elements, and that if the elements themselves are
- pointers, the pointed-to memory is not touched in any way. Manag
- ing the pointer is the user's responsibilty.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 204 of file debug/set.h.
- References __gnu_debug_def::set< Key, Compare, Allocator
- >::begin(), __gnu_debug_def::set< Key, Compare, Allocator
- >::end(), and __gnu_debug_def::set< Key, Compare, Allocator
- >::erase().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::find (const
- key_type & x) [inline]
- Tries to locate an element in a set.
- Parameters:
x Element to be located.
- Returns:
Iterator pointing to sought-after element, or end() ifnot found.
- This function takes a key and tries to locate the element
- with which the key matches. If successful the function returns an
- iterator pointing to the sought after element. If unsuccessful it
- returns the past-the-end ( end() ) iterator.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 213 of file debug/set.h.
- References std::find().
- Referenced by __gnu_debug_def::set< Key, Compare, Alloca
- tor >::erase().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::lower_bound
- (const key_type & x) [inline]
- Finds the beginning of a subsequence matching given key.
- Parameters:
x Key to be located.
- Returns:
Iterator pointing to first element equal to or greaterthan key, or end().
- This function returns the first element of a subsequence
- of elements that matches the given key. If unsuccessful it re
- turns an iterator pointing to the first element that has a
- greater value than given key or end() if no such element exists.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 225 of file debug/set.h.
- References std::lower_bound().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>> iterator
- __gnu_debug_def::set< Key, Compare, Allocator >::upper_bound
- (const key_type & x) [inline]
- Finds the end of a subsequence matching given key.
- Parameters:
x Key to be located.
- Returns:
Iterator pointing to the first element greater thankey, or end().
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 235 of file debug/set.h.
- References std::upper_bound().
- template<typename Key, typename Compare = std::less<Key>,
- typename Allocator = std::allocator<Key>>
- std::pair<iterator,iterator> __gnu_debug_def::set< Key, Compare,
Allocator >::equal_range (const key_type & x) [inline]
Finds a subsequence matching given key.
- Parameters:
- x Key to be located.
- Returns:
- Pair of iterators that possibly points to the subse
- quence matching given key.
- This function is equivalent to
std::make_pair(c.lower_bound(val),c.upper_bound(val))- (but is faster than making the calls separately).
- This function probably only makes sense for multisets.
- Reimplemented from std::set< Key, Compare, Allocator >.
- Definition at line 245 of file debug/set.h.
- References std::equal_range(), std::pair< T1, T2 >::first,
- std::make_pair(), and std::pair< T1, T2 >::second.
- key_compare std::set< Key , Compare , Allocator >::key_comp
- () const [inline, inherited]
- Returns the comparison object with which the set was con
- structed.
- Definition at line 222 of file stl_set.h.
- References std::set< Key, Compare, Alloc >::key_comp().
- value_compare std::set< Key , Compare , Allocator
- >::value_comp () const [inline, inherited]
- Returns the comparison object with which the set was con
- structed.
- Definition at line 226 of file stl_set.h.
- allocator_type std::set< Key , Compare , Allocator
- >::get_allocator () const [inline, inherited]
- Returns the allocator object with which the set was con
- structed.
- Definition at line 230 of file stl_set.h.
- bool std::set< Key , Compare , Allocator >::empty () const
- [inline, inherited]
- Returns true if the set is empty.
- Definition at line 269 of file stl_set.h.
- size_type std::set< Key , Compare , Allocator >::size ()
- const [inline, inherited]
- Returns the size of the set.
- Definition at line 274 of file stl_set.h.
- size_type std::set< Key , Compare , Allocator >::max_size
- (void) const [inline, inherited]
- Returns the maximum size of the set.
- Definition at line 279 of file stl_set.h.
- void std::set< Key , Compare , Allocator >::swap (set< Key ,
Compare , Allocator > & x) [inline, inherited]
Swaps data with another set.
- Parameters:
- x A set of the same element and allocator types.
- This exchanges the elements between two sets in constant
- time. (It is only swapping a pointer, an integer, and an instance
- of the Compare type (which itself is often stateless and empty),
- so it should be quite fast.) Note that the global std::swap()
- function is specialized such that std::swap(s1,s2) will feed to
- this function.
- Definition at line 294 of file stl_set.h.
- iterator std::set< Key , Compare , Allocator >::insert
- (iterator position, const value_type & x) [inline, inherited]
- Attempts to insert an element into the set.
- Parameters:
position An iterator that serves as a hint as to wherethe element should be inserted.
x Element to be inserted. - Returns:
An iterator that points to the element with key of x(may or may not be the element passed in).
- This function is not concerned about whether the insertion
- took place, and thus does not return a boolean like the single
- argument insert() does. Note that the first parameter is only a
- hint and can potentially improve the performance of the insertion
- process. A bad hint would cause no gains in efficiency.
- See http://gcc.gnu.org/onlinedocs/libstdc++/23_contain
- ers/howto.html#4 for more on 'hinting'.
- Insertion requires logarithmic time (if the hint is not
- taken).
- Definition at line 338 of file stl_set.h.
- void std::set< Key , Compare , Allocator >::erase (iterator
- position) [inline, inherited]
- Erases an element from a set.
- Parameters:
position An iterator pointing to the element to beerased.
- This function erases an element, pointed to by the given
- iterator, from a set. Note that this function only erases the el
- ement, and that if the element is itself a pointer, the pointed
- to memory is not touched in any way. Managing the pointer is the
- user's responsibilty.
- Definition at line 367 of file stl_set.h.
- void std::set< Key , Compare , Allocator >::erase (iterator
- first, iterator last) [inline, inherited]
- Erases a [first,last) range of elements from a set.
- Parameters:
first Iterator pointing to the start of the range tobe erased.
last Iterator pointing to the end of the range to beerased. - This function erases a sequence of elements from a set.
- Note that this function only erases the element, and that if the
- element is itself a pointer, the pointed-to memory is not touched
- in any way. Managing the pointer is the user's responsibilty.
- Definition at line 399 of file stl_set.h.
- size_type std::set< Key , Compare , Allocator >::count (const
- key_type & x) const [inline, inherited]
- Finds the number of elements.
- Parameters:
x Element to located.
- Returns:
Number of elements with specified key.
- This function only makes sense for multisets; for set the
- result will either be 0 (not present) or 1 (present).
- Definition at line 426 of file stl_set.h.
- template<typename Sequence> template<typename Predicate> void
- __gnu_debug::Safe_sequence< Sequence >::M_invalidate_if
- (Predicate pred) [inherited]
- Invalidates all iterators x that reference this sequence,
- are not singular, and for which pred(x) returns true. The user of
- this routine should be careful not to make copies of the itera
- tors passed to pred, as the copies may interfere with the invali
- dation.
- Definition at line 120 of file safe_sequence.h.
- template<typename Sequence> template<typename Iterator> void
- __gnu_debug::Safe_sequence< Sequence >::M_transfer_iter (const
Safe_iterator< Iterator, Sequence > & x) [inherited]
- Transfers all iterators that reference this memory loca
- tion to this sequence from whatever sequence they are attached
- to.
- Definition at line 152 of file safe_sequence.h.
- void __gnu_debug::Safe_sequence_base::M_detach_all ()
- [protected, inherited]
- Detach all iterators, leaving them singular.
- Definition at line 114 of file debug.cc.
- void __gnu_debug::Safe_sequence_base::M_detach_singular ()
- [protected, inherited]
- Detach all singular iterators.
- Postcondition:
for all iterators i attached to this sequence,i->M_version == M_version.
- Definition at line 133 of file debug.cc.
- void __gnu_debug::Safe_sequence_base::M_revalidate_singular ()
- [protected, inherited]
- Revalidates all attached singular iterators. This method
- may be used to validate iterators that were invalidated before
- (but for some reasion, such as an exception, need to become valid
- again).
- Definition at line 154 of file debug.cc.
- void __gnu_debug::Safe_sequence_base::M_swap
- (Safe_sequence_base & x) [protected, inherited]
- Swap this sequence with the given sequence. This operation
- also swaps ownership of the iterators, so that when the operation
- is complete all iterators that originally referenced one contain
- er now reference the other container.
- Definition at line 172 of file debug.cc.
- References __gnu_debug::swap().
- void __gnu_debug::Safe_sequence_base::M_invalidate_all ()
- const [inline, inherited]
- Invalidates all iterators.
- Definition at line 202 of file safe_base.h.
Member Data Documentation
- Safe_iterator_base*
- __gnu_debug::Safe_sequence_base::M_iterators [inherited]
- The list of mutable iterators that reference this contain
- er.
- Definition at line 153 of file safe_base.h.
- Safe_iterator_base*
- __gnu_debug::Safe_sequence_base::M_const_iterators [inherited]
- The list of constant iterators that reference this con
- tainer.
- Definition at line 156 of file safe_base.h.
- unsigned int __gnu_debug::Safe_sequence_base::M_version
- [mutable, inherited]
- The container version number. This number may never be 0.
- Definition at line 159 of file safe_base.h.
Author
- Generated automatically by Doxygen for libstdc++-v3 Source
- from the source code.
- libstdc++-v3 Source 1 Jan 2007 __gnu_de