std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::end, std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::cend
From cppreference.com
< cpp | container | unordered multimap
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Containers library
(C++17)
(C++11)
(C++26)
(C++26)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++23)
(C++23)
(C++20)
(C++23)
Tables
std::unordered_multimap
unordered_multimap::endunordered_multimap::cend
(C++23)
(C++17)
(C++17)
(C++20)
(until C++20)
Deduction guides (C++17)
iterator end() noexcept;
(1)
(since C++11) (constexpr since C++26)
const_iterator end() const noexcept;
(2)
(since C++11) (constexpr since C++26)
const_iterator cend() const noexcept;
(3)
(since C++11) (constexpr since C++26)
Returns an iterator past the last element of *this.
This returned iterator only acts as a sentinel. It is not guaranteed to be dereferenceable.
Contents
[edit] Return value
Iterator past the last element.
[edit] Complexity
Constant.
[edit] Example
Run this code
#include <algorithm> #include <cassert> #include <iostream> #include <string> #include <utility> #include <unordered_map> int main() { auto show_node = [](const std::pair <std::string, std::string >& node) { std::cout << node.first << " : " << node.second << '\n'; }; std::unordered_multimap <std::string, std::string > lemmas; assert (lemmas.begin() == lemmas.end()); assert (lemmas.cbegin() == lemmas.cend()); lemmas.insert({ "1. ∀x ∈ N ∃y ∈ N", "x ≤ y" }); show_node(*lemmas.cbegin()); assert (lemmas.begin() != lemmas.end()); assert (lemmas.cbegin() != lemmas.cend()); lemmas.begin()->second = "x < y"; show_node(*lemmas.cbegin()); lemmas.insert({ "2. ∀x, y ∈ N ", "x = y V x ≠ y" }); show_node(*lemmas.cbegin()); lemmas.insert({ "3. ∀x ∈ N ∃y ∈ N", "y = x + 1" }); show_node(*lemmas.cbegin()); std::cout << "Lemmas: \n"; std::for_each (lemmas.cbegin(), lemmas.cend(), [&](const auto& n) { show_node(n); }); std::cout << '\n'; }
Possible output:
1. ∀x ∈ N ∃y ∈ N : x ≤ y 1. ∀x ∈ N ∃y ∈ N : x < y 2. ∀x, y ∈ N : x = y V x ≠ y 3. ∀x ∈ N ∃y ∈ N : y = x + 1 Lemmas: 3. ∀x ∈ N ∃y ∈ N : y = x + 1 1. ∀x ∈ N ∃y ∈ N : x < y 2. ∀x, y ∈ N : x = y V x ≠ y