Introduction
A
set is an Associative container which contains a sorted set
of unique objects of type Key. Each element may occur only once, so
duplicates are not allowed.
There are four kind of Associative containers: set, multiset, map and multimap.
The value of the elements in a set cannot be modified once in the
container, i.e., the elements are always const. But they can be inserted
or removed from the container.
set containers are generally slower than unordered_set containers in
accessing individual elements by their key, but they allow the direct
iteration on subsets based on their order.
Definition
Below is definition of std::set from <set> header file
template <
class Key,
class Compare = std::less<Key>,
class Allocator = std::allocator<Key>
> class set;
Parameters
- Key − Type of the element contained.
Key may be substituted by any other data type including user-defined type.
Member types
Following member types can be used as parameters or return type by member functions.
S.N. |
Member types |
Definition |
1 |
key_type |
Key |
2 |
value_type |
Key |
3 |
reference |
Allocator::reference value_type& |
4 |
const_reference |
Allocator::const_reference const value_type& |
5 |
pointer |
Allocator::pointer std::allocator_traits<Allocator>::pointer |
6 |
const_pointer |
Allocator::const_pointerstd::allocator_traits<Allocator>::const_pointer |
7 |
iterator |
BidirectionalIterator |
8 |
const_iterator |
constant BidirectionalIterator |
9 |
reverse_iterator |
std::reverse_iterator <iterator> |
10 |
const_reverse_iterator |
std::reverse_iterator <const_iterator> |
11 |
size_type |
Unsigned Integer Type (std::size_t) |
12 |
difference_type |
Signed Integer Type (std::ptrdiff_t) |
13 |
key_compare |
Compare |
14 |
value_compare |
Compare |
15 |
allocator_type |
Allocator |
Functions from <set>
Below is list of all methods from <set> header.
MEMBER FUNCTIONS
DEFAULT MEMBER FUNCTIONS
ITERATORS
S.N. |
Method & Description |
1 |
set::begin
Returns the iterator to beginning. |
2 |
set::cbegin
Returns the const iterator to beginning. |
3 |
set::end
Returns the iterator to end. |
4 |
set::cend
Returns the const iterator to end. |
5 |
set::rbegin
Returns the reverse iterator to reverse beginning. |
6 |
set::crbegin
Return const reverse iterator to reverse beginning. |
7 |
set::rend
Returns the reverse iterator to reverse end. |
8 |
set::crend
Returns the const reverse iterator to reverse end. |
CAPACITY
S.N. |
Method & Description |
1 |
set::empty
Returns wheteher the set container is empty. |
2 |
set::size
Returns the number of elements in the set container. |
3 |
set::max_size
Returns the maximum number of elements that the set container can hold. |
MODIFIERS
S.N. |
Method & Description |
1 |
set::clear
Removes all elements from the set container. |
2 |
set::insert
Inserts new element in the set container. |
3 |
set::emplace
Inserts new element in the set, if its unique. |
4 |
set::emplace_hint
Inserts new element in the set, if its unique, with a hint on the inserting position. |
5 |
set::erase
Removes either a single element or a range of elements from the set container. |
6 |
set::swap
Exchanges the content of the container by the content of another set container of the same type. |
LOOKUP
S.N. |
Method & Description |
1 |
set::count
Returns the number of elements with matching value in the set container. |
2 |
set::find
Searches the set container for value and returns an iterator to it if found, else returns an iterator to set::end. |
3 |
set::lower_bound
Returns an iterator pointing to the first element in the set container which is not considered to go before value. |
4 |
set::upper_bound
Returns an iterator pointing to the first element in the set container which is considered to go after value. |
5 |
set::equal_range
Returns the bounds of a range that includes all the elements in the set container that are equivalent to value. |
OBSERVERS
S.N. |
Method & Description |
1 |
set::key_comp
Returns a copy of the comparison object used by the set container. |
2 |
set::value_comp
Returns a copy of the comparison object used by the set container. |
ALLOCATOR
S.N. |
Method & Description |
1 |
set::get_allocator
Returns a copy of the allocator object associated with the set container. |
No comments:
Post a Comment