std::multimap<Key,T,Compare,Allocator>::end, std::multimap<Key,T,Compare,Allocator>::cend
From cppreference.com
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::multimap
(C++11)
multimap::endmultimap::cend
(C++11)
(C++11)
(C++17)
(C++23)
(C++11)
(C++11)
(C++17)
(C++20)
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)
Deduction guides (C++17)
iterator end();
(1)
(noexcept since C++11) (constexpr since C++26)
const_iterator end() const;
(2)
(noexcept 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.
Notes
libc++ backports cend()
to C++98 mode.
[edit] Example
Run this code
#include <algorithm> #include <cassert> #include <cstddef> #include <iostream> #include <map> #include <string> int main() { auto show_node = [](const auto& node, char ending = '\n') { std::cout << "{ " << node.first << ", " << node.second << " }" << ending; }; std::multimap <std::size_t, std::string > mmap; assert (mmap.begin() == mmap.end()); // OK assert (mmap.cbegin() == mmap.cend()); // OK mmap.insert({ sizeof(long), "LONG" }); show_node(*(mmap.cbegin())); assert (mmap.begin() != mmap.end()); // OK assert (mmap.cbegin() != mmap.cend()); // OK mmap.begin()->second = "long"; show_node(*(mmap.cbegin())); mmap.insert({ sizeof(int), "int" }); show_node(*mmap.cbegin()); mmap.insert({ sizeof(short), "short" }); show_node(*mmap.cbegin()); mmap.insert({ sizeof(char), "char" }); show_node(*mmap.cbegin()); mmap.insert({{ sizeof(float), "float" }, { sizeof(double), "double"}}); std::cout << "mmap = { "; std::for_each (mmap.cbegin(), mmap.cend(), [&](const auto& n) { show_node(n, ' '); }); std::cout << "};\n"; }
Possible output:
{ 8, LONG } { 8, long } { 4, int } { 2, short } { 1, char } mmap = { { 1, char } { 2, short } { 4, int } { 4, float } { 8, long } { 8, double } };