std::set

From Cppreference

Jump to: navigation, search
Defined in header <set>

template<

    class Key,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<Key>

> class set;

Set is an associative container that contains a sorted set of unique objects of type Key. Sorting is done using the key comparison function Compare. Search, removal, and insertion operations have logarithmic complexity. Sets are usually implemented as red-black trees.

Contents

[edit] Member types

Member type Definition
key_type Key
value_type Key
size_type Unsigned integral type (usually size_t)
difference_type Signed integer type (usually ptrdiff_t)
key_compare Compare
value_compare Compare
allocator_type Allocator
reference Allocator::reference (pre-C++11 version)
value_type& (C++11 version)
const_reference Allocator::const_reference (pre-C++11 version)
const value_type& (C++11 version)
pointer T* (pre-C++11 version)
std::allocator_traits<Allocator>::pointer (C++11 version)
const_pointer const T* (pre-C++11 version)
std::allocator_traits<Allocator>::const_pointer (C++11 version)
iterator Bidirectional iterator
const_iterator Constant bidirectional iterator
reverse_iterator std::reverse_iterator<iterator>
const_reverse_iterator std::reverse_iterator<const_iterator>


[edit] Member functions

(constructor)
constructs the set
(public member function)
(destructor)
destructs the set
(public member function)
operator=
assigns values to the container
(public member function)
get_allocator
returns the associated allocator
(public member function)
Iterators
begin
cbegin

returns an iterator to the beginning
(public member function)
end
cend

returns an iterator to the end
(public member function)
rbegin
crbegin

returns a reverse iterator to the beginning
(public member function)
rend
crend

returns a reverse iterator to the end
(public member function)
Capacity
empty
checks whether the container is empty
(public member function)
size
returns the number of elements
(public member function)
max_size
returns the maximum possible number of elements
(public member function)
Modifiers
clear
clears the contents
(public member function)
insert
inserts elements
(public member function)
emplace (C++11)
constructs element in-place
(public member function)
emplace_hint (C++11)
constructs elements in-place using a hint
(public member function)
erase
erases elements
(public member function)
swap
swaps the contents
(public member function)
Lookup
count
returns the number of elements matching specific key
(public member function)
find
finds element with specific key
(public member function)
equal_range
returns range of elements matching a specific key
(public member function)
lower_bound
returns an iterator to the first element not less than the given value
(public member function)
upper_bound
returns an iterator to the first element greater than a certain value
(public member function)
Observers
key_comp
returns the function that compares keys
(public member function)
value_comp
returns the function that compares keys
(public member function)

[edit] Non-member functions

operator==
operator!=
operator<
operator<=
operator>
operator>=
lexicographically compares the values in the container
(function)
std::swap(std::set)
specializes the std::swap() algorithm
(function template)