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

#include <json.hpp>

Inheritance diagram for nlohmann::detail::iter_impl< BasicJsonType >:
Collaboration diagram for nlohmann::detail::iter_impl< BasicJsonType >:

Public Types

using value_type = typename BasicJsonType::value_type
using difference_type = typename BasicJsonType::difference_type

Public Member Functions

*defines a pointer to the type iterated over (value_type) using pointer
*defines a reference to the type iterated over (value_type) using reference
 iter_impl ()=default
 ~iter_impl ()=default
 iter_impl (iter_impl &&) noexcept=default
iter_impl & operator= (iter_impl &&) noexcept=default
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance
 iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
 const copy constructor
iter_impl & operator= (const iter_impl< const BasicJsonType > &other) noexcept
 converting assignment
 iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting constructor
iter_impl & operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting assignment
 switch (m_object->m_type)
void set_end () noexcept
 set the iterator past the last value
reference operator* () const
 return a reference to the value pointed to by the iterator
pointer operator-> () const
 dereference the iterator
iter_impl const operator++ (int)
 post-increment (it++)
iter_impl & operator++ ()
 pre-increment (++it)
iter_impl const operator-- (int)
 post-decrement (it–)
iter_impl & operator-- ()
 pre-decrement (–it)
template<typename IterImpl, detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
bool operator== (const IterImpl &other) const
 comparison: equal
template<typename IterImpl, detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
bool operator!= (const IterImpl &other) const
 comparison: not equal
bool operator< (const iter_impl &other) const
 comparison: smaller
bool operator<= (const iter_impl &other) const
 comparison: less than or equal
bool operator> (const iter_impl &other) const
 comparison: greater than
bool operator>= (const iter_impl &other) const
 comparison: greater than or equal
iter_impl & operator+= (difference_type i)
 add to iterator
iter_impl & operator-= (difference_type i)
 subtract from iterator
iter_impl operator+ (difference_type i) const
 add to iterator
iter_impl operator- (difference_type i) const
 subtract from iterator
difference_type operator- (const iter_impl &other) const
 return difference
reference operator[] (difference_type n) const
 access to successor
const object_t::key_type & key () const
 return the key of an object iterator
reference value () const
 return the value of an iterator

Public Attributes

JSON_PRIVATE_UNLESS_TESTED : void set_begin() noexcept { JSON_ASSERT(m_object != nullptr)
JSON_PRIVATE_UNLESS_TESTED : * associated JSON instance pointer m_object = nullptr
*the actual iterator of the associated instance internal_iterator< typename std::remove_const< BasicJsonType >::type > m_it {}

Private Types

using other_iter_impl
using object_t = typename BasicJsonType::object_t
using array_t = typename BasicJsonType::array_t

Private Attributes

members friend other_iter_impl
friend BasicJsonType
friend iteration_proxy< iter_impl >
friend iteration_proxy_value< iter_impl >

Friends

iter_impl operator+ (difference_type i, const iter_impl &it)
 addition of distance and iterator

Detailed Description

template<typename BasicJsonType>
class nlohmann::detail::iter_impl< BasicJsonType >

Definition at line 10971 of file json.hpp.

Member Typedef Documentation

◆ array_t

template<typename BasicJsonType>
using nlohmann::detail::iter_impl< BasicJsonType >::array_t = typename BasicJsonType::array_t
private

Definition at line 10984 of file json.hpp.

◆ difference_type

template<typename BasicJsonType>
using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type

Definition at line 11000 of file json.hpp.

◆ object_t

template<typename BasicJsonType>
using nlohmann::detail::iter_impl< BasicJsonType >::object_t = typename BasicJsonType::object_t
private

Definition at line 10983 of file json.hpp.

◆ other_iter_impl

template<typename BasicJsonType>
using nlohmann::detail::iter_impl< BasicJsonType >::other_iter_impl
private
Initial value:

Definition at line 10974 of file json.hpp.

◆ value_type

template<typename BasicJsonType>
using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type

Definition at line 10998 of file json.hpp.

Constructor & Destructor Documentation

◆ iter_impl() [1/5]

template<typename BasicJsonType>
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ( )
default

◆ ~iter_impl()

◆ iter_impl() [2/5]

template<typename BasicJsonType>
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ( iter_impl< BasicJsonType > && )
defaultnoexcept

◆ iter_impl() [3/5]

template<typename BasicJsonType>
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ( pointer object)
inlineexplicitnoexcept
Parameters
[in]objectpointer to a JSON object for this iterator
Precondition
object != nullptr
Postcondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11021 of file json.hpp.

◆ iter_impl() [4/5]

template<typename BasicJsonType>
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ( const iter_impl< const BasicJsonType > & other)
inlinenoexcept
Note
The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined.
Parameters
[in]otherconst iterator to copy from
Note
This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608

Definition at line 11068 of file json.hpp.

◆ iter_impl() [5/5]

template<typename BasicJsonType>
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ( const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
inlinenoexcept
Parameters
[in]othernon-const iterator to copy from
Note
It is not checked whether other is initialized.

Definition at line 11093 of file json.hpp.

Member Function Documentation

◆ key()

template<typename BasicJsonType>
const object_t::key_type & nlohmann::detail::iter_impl< BasicJsonType >::key ( ) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11600 of file json.hpp.

◆ operator!=()

template<typename BasicJsonType>
template<typename IterImpl, detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= ( const IterImpl & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11404 of file json.hpp.

◆ operator*()

template<typename BasicJsonType>
reference nlohmann::detail::iter_impl< BasicJsonType >::operator* ( ) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11193 of file json.hpp.

Referenced by nlohmann::detail::iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type >::value().

Here is the caller graph for this function:

◆ operator+()

template<typename BasicJsonType>
iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ ( difference_type i) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11504 of file json.hpp.

◆ operator++() [1/2]

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator++ ( )
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11280 of file json.hpp.

◆ operator++() [2/2]

template<typename BasicJsonType>
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator++ ( int )
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11269 of file json.hpp.

◆ operator+=()

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator+= ( difference_type i)
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11464 of file json.hpp.

Referenced by nlohmann::detail::iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type >::operator-=().

Here is the caller graph for this function:

◆ operator-() [1/2]

template<typename BasicJsonType>
difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- ( const iter_impl< BasicJsonType > & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11537 of file json.hpp.

◆ operator-() [2/2]

template<typename BasicJsonType>
iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- ( difference_type i) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11526 of file json.hpp.

◆ operator--() [1/2]

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator-- ( )
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11327 of file json.hpp.

◆ operator--() [2/2]

template<typename BasicJsonType>
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator-- ( int )
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11316 of file json.hpp.

◆ operator-=()

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator-= ( difference_type i)
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11498 of file json.hpp.

◆ operator->()

template<typename BasicJsonType>
pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> ( ) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11232 of file json.hpp.

◆ operator<()

template<typename BasicJsonType>
bool nlohmann::detail::iter_impl< BasicJsonType >::operator< ( const iter_impl< BasicJsonType > & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11413 of file json.hpp.

Referenced by nlohmann::detail::iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type >::operator>=().

Here is the caller graph for this function:

◆ operator<=()

template<typename BasicJsonType>
bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= ( const iter_impl< BasicJsonType > & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11446 of file json.hpp.

Referenced by nlohmann::detail::iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type >::operator>().

Here is the caller graph for this function:

◆ operator=() [1/3]

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator= ( const iter_impl< const BasicJsonType > & other)
inlinenoexcept
Parameters
[in]otherconst iterator to copy from
Returns
const/non-const iterator
Note
It is not checked whether other is initialized.

Definition at line 11079 of file json.hpp.

◆ operator=() [2/3]

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator= ( const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
inlinenoexcept
Parameters
[in]othernon-const iterator to copy from
Returns
const/non-const iterator
Note
It is not checked whether other is initialized.

Definition at line 11104 of file json.hpp.

◆ operator=() [3/3]

template<typename BasicJsonType>
iter_impl & nlohmann::detail::iter_impl< BasicJsonType >::operator= ( iter_impl< BasicJsonType > && )
defaultnoexcept

◆ operator==()

template<typename BasicJsonType>
template<typename IterImpl, detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
bool nlohmann::detail::iter_impl< BasicJsonType >::operator== ( const IterImpl & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11367 of file json.hpp.

Referenced by nlohmann::detail::iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type >::operator!=().

Here is the caller graph for this function:

◆ operator>()

template<typename BasicJsonType>
bool nlohmann::detail::iter_impl< BasicJsonType >::operator> ( const iter_impl< BasicJsonType > & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11452 of file json.hpp.

◆ operator>=()

template<typename BasicJsonType>
bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= ( const iter_impl< BasicJsonType > & other) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11458 of file json.hpp.

◆ operator[]()

template<typename BasicJsonType>
reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] ( difference_type n) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11565 of file json.hpp.

◆ over() [1/2]

template<typename BasicJsonType>
*defines a pointer to the type iterated nlohmann::detail::iter_impl< BasicJsonType >::over ( value_type )

◆ over() [2/2]

template<typename BasicJsonType>
*defines a reference to the type iterated nlohmann::detail::iter_impl< BasicJsonType >::over ( value_type )

◆ set_end()

template<typename BasicJsonType>
void nlohmann::detail::iter_impl< BasicJsonType >::set_end ( )
inlinenoexcept
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11158 of file json.hpp.

◆ switch()

template<typename BasicJsonType>
nlohmann::detail::iter_impl< BasicJsonType >::switch ( m_object-> m_type)
inline

Definition at line 11123 of file json.hpp.

◆ value()

template<typename BasicJsonType>
reference nlohmann::detail::iter_impl< BasicJsonType >::value ( ) const
inline
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11615 of file json.hpp.

◆ operator+

template<typename BasicJsonType>
iter_impl operator+ ( difference_type i,
const iter_impl< BasicJsonType > & it )
friend
Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 11515 of file json.hpp.

Member Data Documentation

◆ __pad0__

Definition at line 11112 of file json.hpp.

◆ __pad1__

Definition at line 11617 of file json.hpp.

◆ BasicJsonType

template<typename BasicJsonType>
friend nlohmann::detail::iter_impl< BasicJsonType >::BasicJsonType
private

Definition at line 10979 of file json.hpp.

◆ iteration_proxy< iter_impl >

Definition at line 10980 of file json.hpp.

◆ iteration_proxy_value< iter_impl >

Definition at line 10981 of file json.hpp.

◆ m_it

◆ other_iter_impl

template<typename BasicJsonType>
members friend nlohmann::detail::iter_impl< BasicJsonType >::other_iter_impl
private

Definition at line 10978 of file json.hpp.


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