Namespaces
Variants
Actions

std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::end, std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::cend

From cppreference.com
 
 
 
 
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.

range-begin-end.svg

Contents

[edit]Return value

Iterator past the last element.

[edit]Complexity

Constant.

[edit]Example

#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)[edit]
(C++11)(C++14)
returns an iterator to the end of a container or array
(function template)[edit]
close