BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
nlohmann::detail::iteration_proxy_value< IteratorType > Class Template Reference

#include <json.hpp>

Public Types

using difference_type = std::ptrdiff_t
using value_type = iteration_proxy_value
using pointer = value_type*
using reference = value_type&
using iterator_category = std::input_iterator_tag
using string_type

Public Member Functions

 iteration_proxy_value (IteratorType it) noexcept
iteration_proxy_value & operator* ()
 dereference operator (needed for range-based for)
iteration_proxy_value & operator++ ()
 increment operator (needed for range-based for)
bool operator== (const iteration_proxy_value &o) const
 equality operator (needed for InputIterator)
bool operator!= (const iteration_proxy_value &o) const
 inequality operator (needed for range-based for)
const string_type & key () const
 return key of the iterator
IteratorType::reference value () const
 return value of the iterator

Private Attributes

IteratorType anchor
 the iterator
std::size_t array_index = 0
 an index for arrays (used to create key names)
std::size_t array_index_last = 0
 last stringified array index
string_type array_index_str = "0"
 a string representation of the array index
const string_type empty_str {}
 an empty string (to return a reference for primitive values)

Detailed Description

template<typename IteratorType>
class nlohmann::detail::iteration_proxy_value< IteratorType >

Definition at line 4316 of file json.hpp.

Member Typedef Documentation

◆ difference_type

template<typename IteratorType>
using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t

Definition at line 4319 of file json.hpp.

◆ iterator_category

template<typename IteratorType>
using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag

Definition at line 4323 of file json.hpp.

◆ pointer

template<typename IteratorType>
using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type*

Definition at line 4321 of file json.hpp.

◆ reference

template<typename IteratorType>
using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type&

Definition at line 4322 of file json.hpp.

◆ string_type

template<typename IteratorType>
using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type
Initial value:
typename std::remove_cv<
typename std::remove_reference<decltype(std::declval<IteratorType>().key())>::type>::type

Definition at line 4324 of file json.hpp.

◆ value_type

template<typename IteratorType>
using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value

Definition at line 4320 of file json.hpp.

Constructor & Destructor Documentation

◆ iteration_proxy_value()

template<typename IteratorType>
nlohmann::detail::iteration_proxy_value< IteratorType >::iteration_proxy_value ( IteratorType it)
inlineexplicitnoexcept

Definition at line 4340 of file json.hpp.

Referenced by operator!=(), operator*(), operator++(), and operator==().

Here is the caller graph for this function:

Member Function Documentation

◆ key()

template<typename IteratorType>
const string_type & nlohmann::detail::iteration_proxy_value< IteratorType >::key ( ) const
inline

◆ operator!=()

template<typename IteratorType>
bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator!= ( const iteration_proxy_value< IteratorType > & o) const
inline

Definition at line 4360 of file json.hpp.

References iteration_proxy_value(), and anchor.

Here is the call graph for this function:

◆ operator*()

template<typename IteratorType>
iteration_proxy_value & nlohmann::detail::iteration_proxy_value< IteratorType >::operator* ( )
inline

Definition at line 4345 of file json.hpp.

References iteration_proxy_value().

Here is the call graph for this function:

◆ operator++()

template<typename IteratorType>
iteration_proxy_value & nlohmann::detail::iteration_proxy_value< IteratorType >::operator++ ( )
inline

Definition at line 4348 of file json.hpp.

References iteration_proxy_value(), anchor, and array_index.

Here is the call graph for this function:

◆ operator==()

template<typename IteratorType>
bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator== ( const iteration_proxy_value< IteratorType > & o) const
inline

Definition at line 4357 of file json.hpp.

References iteration_proxy_value(), and anchor.

Here is the call graph for this function:

◆ value()

template<typename IteratorType>
IteratorType::reference nlohmann::detail::iteration_proxy_value< IteratorType >::value ( ) const
inline

Definition at line 4396 of file json.hpp.

References anchor.

Member Data Documentation

◆ anchor

template<typename IteratorType>
IteratorType nlohmann::detail::iteration_proxy_value< IteratorType >::anchor
private

Definition at line 4329 of file json.hpp.

Referenced by key(), operator!=(), operator++(), operator==(), and value().

◆ array_index

template<typename IteratorType>
std::size_t nlohmann::detail::iteration_proxy_value< IteratorType >::array_index = 0
private

Definition at line 4331 of file json.hpp.

Referenced by key(), and operator++().

◆ array_index_last

template<typename IteratorType>
std::size_t nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_last = 0
mutableprivate

Definition at line 4333 of file json.hpp.

Referenced by key().

◆ array_index_str

template<typename IteratorType>
string_type nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_str = "0"
mutableprivate

Definition at line 4335 of file json.hpp.

Referenced by key().

◆ empty_str

template<typename IteratorType>
const string_type nlohmann::detail::iteration_proxy_value< IteratorType >::empty_str {}
private

Definition at line 4337 of file json.hpp.

Referenced by key().


The documentation for this class was generated from the following file: