JSON for Modern C++  3.0.0

◆ rend() [1/2]

template<template< typename, typename, typename... > class ObjectType = std::map, template< typename, typename... > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename > class AllocatorType = std::allocator, template< typename, typename=void > class JSONSerializer = adl_serializer>
reverse_iterator nlohmann::basic_json::rend ( )
inlinenoexcept

Returns an iterator to the reverse-end; that is, one before the first element.

range-rbegin-rend.svg
Illustration from cppreference.com
Complexity
Constant.
Requirements
This function helps basic_json satisfying the ReversibleContainer requirements:
  • The complexity is constant.
  • Has the semantics of reverse_iterator(begin()).
Example
The following code shows an example for rend().
1 #include <iostream>
2 #include "json.hpp"
3 
4 using json = nlohmann::json;
5 
6 int main()
7 {
8  // create an array value
9  json array = {1, 2, 3, 4, 5};
10 
11  // get an iterator to the reverse-end
12  json::reverse_iterator it = array.rend();
13 
14  // increment the iterator to point to the first element
15  --it;
16 
17  // serialize the element that the iterator points to
18  std::cout << *it << '\n';
19 }
basic_json<> json
default JSON class
Definition: json.hpp:14353
json_reverse_iterator< typename basic_json::iterator > reverse_iterator
a reverse iterator for a basic_json container
Definition: json.hpp:7456
Output (play with this example online):
1
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/rend.cpp -o rend 
See also
crend() – returns a const reverse iterator to the end
rbegin() – returns a reverse iterator to the beginning
crbegin() – returns a const reverse iterator to the beginning
Since
version 1.0.0

Definition at line 11234 of file json.hpp.