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
iterator end()noexcept; | (1) | (since C++11) (constexpr since C++26) |
const_iterator end()constnoexcept; | (2) | (since C++11) (constexpr since C++26) |
const_iterator cend()constnoexcept; | (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 =[](conststd::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(), [&](constauto& 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
[edit]See also
returns an iterator to the beginning (public member function) | |
(C++11)(C++14) | returns an iterator to the end of a container or array (function template) |