o-du/phy
Intel O-RAN/X-RAN Generated Doxygen Documentation
Public Types | Public Member Functions | Friends
basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U > Class Template Reference

a template for a random access iterator for the basic_json class More...

#include <json.hpp>

Inheritance diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >:
Inheritance graph
Collaboration diagram for basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >:
Collaboration graph

Public Types

using value_type = typename basic_json::value_type
 the type of the values when the iterator is dereferenced More...
 
using difference_type = typename basic_json::difference_type
 a type to represent differences between iterators More...
 
using pointer = typename std::conditional< std::is_const< U >::value, typename basic_json::const_pointer, typename basic_json::pointer >::type
 defines a pointer to the type iterated over (value_type) More...
 
using reference = typename std::conditional< std::is_const< U >::value, typename basic_json::const_reference, typename basic_json::reference >::type
 defines a reference to the type iterated over (value_type) More...
 
using iterator_category = std::bidirectional_iterator_tag
 the category of the iterator More...
 

Public Member Functions

 iter_impl ()=default
 default constructor More...
 
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance More...
 
 operator const_iterator () const
 
 iter_impl (const iter_impl &other) noexcept
 copy constructor More...
 
iter_imploperator= (iter_impl other) noexcept(std::is_nothrow_move_constructible< pointer >::value and std::is_nothrow_move_assignable< pointer >::value and std::is_nothrow_move_constructible< internal_iterator >::value and std::is_nothrow_move_assignable< internal_iterator >::value)
 copy assignment More...
 
reference operator* () const
 return a reference to the value pointed to by the iterator More...
 
pointer operator-> () const
 dereference the iterator More...
 
iter_impl operator++ (int)
 post-increment (it++) More...
 
iter_imploperator++ ()
 pre-increment (++it) More...
 
iter_impl operator-- (int)
 post-decrement (it–) More...
 
iter_imploperator-- ()
 pre-decrement (–it) More...
 
bool operator== (const iter_impl &other) const
 comparison: equal More...
 
bool operator!= (const iter_impl &other) const
 comparison: not equal More...
 
bool operator< (const iter_impl &other) const
 comparison: smaller More...
 
bool operator<= (const iter_impl &other) const
 comparison: less than or equal More...
 
bool operator> (const iter_impl &other) const
 comparison: greater than More...
 
bool operator>= (const iter_impl &other) const
 comparison: greater than or equal More...
 
iter_imploperator+= (difference_type i)
 add to iterator More...
 
iter_imploperator-= (difference_type i)
 subtract from iterator More...
 
iter_impl operator+ (difference_type i)
 add to iterator More...
 
iter_impl operator- (difference_type i)
 subtract from iterator More...
 
difference_type operator- (const iter_impl &other) const
 return difference More...
 
reference operator[] (difference_type n) const
 access to successor More...
 
object_t::key_type key () const
 return the key of an object iterator More...
 
reference value () const
 return the value of an iterator More...
 

Friends

class basic_json
 allow basic_json to access private members More...
 

Detailed Description

template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > 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 U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
template<typename U>
class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::iter_impl< U >

a template for a random access iterator for the basic_json class

This class implements a both iterators (iterator and const_iterator) for the basic_json class.

Note
An iterator is called initialized when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is uninitialized and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.

The class satisfies the following concept requirements:

Since
version 1.0.0, simplified in version 2.0.9

Definition at line 1028 of file json.hpp.

Member Typedef Documentation

◆ difference_type

a type to represent differences between iterators

Definition at line 8828 of file json.hpp.

◆ iterator_category

using iterator_category = std::bidirectional_iterator_tag

the category of the iterator

Definition at line 8838 of file json.hpp.

◆ pointer

using pointer = typename std::conditional<std::is_const<U>::value, typename basic_json::const_pointer, typename basic_json::pointer>::type

defines a pointer to the type iterated over (value_type)

Definition at line 8832 of file json.hpp.

◆ reference

using reference = typename std::conditional<std::is_const<U>::value, typename basic_json::const_reference, typename basic_json::reference>::type

defines a reference to the type iterated over (value_type)

Definition at line 8836 of file json.hpp.

◆ value_type

the type of the values when the iterator is dereferenced

Definition at line 8826 of file json.hpp.

Constructor & Destructor Documentation

◆ iter_impl() [1/3]

iter_impl ( )
default

default constructor

◆ iter_impl() [2/3]

iter_impl ( pointer  object)
inlineexplicitnoexcept

constructor for a given JSON instance

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 8849 of file json.hpp.

◆ iter_impl() [3/3]

iter_impl ( const iter_impl< U > &  other)
inlinenoexcept

copy constructor

Parameters
[in]otheriterator to copy from
Note
It is not checked whether other is initialized.

Definition at line 8902 of file json.hpp.

Member Function Documentation

◆ key()

object_t::key_type key ( ) const
inline

return the key of an object iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9383 of file json.hpp.

◆ operator const_iterator()

operator const_iterator ( ) const
inline

Definition at line 8884 of file json.hpp.

◆ operator!=()

bool operator!= ( const iter_impl< U > &  other) const
inline

comparison: not equal

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9188 of file json.hpp.

◆ operator*()

reference operator* ( ) const
inline

return a reference to the value pointed to by the iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 8996 of file json.hpp.

◆ operator+()

iter_impl operator+ ( difference_type  i)
inline

add to iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9297 of file json.hpp.

◆ operator++() [1/2]

iter_impl operator++ ( int  )
inline

post-increment (it++)

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9069 of file json.hpp.

◆ operator++() [2/2]

iter_impl& operator++ ( )
inline

pre-increment (++it)

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9080 of file json.hpp.

◆ operator+=()

iter_impl& operator+= ( difference_type  i)
inline

add to iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9257 of file json.hpp.

◆ operator-() [1/2]

iter_impl operator- ( difference_type  i)
inline

subtract from iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9308 of file json.hpp.

◆ operator-() [2/2]

difference_type operator- ( const iter_impl< U > &  other) const
inline

return difference

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9319 of file json.hpp.

◆ operator--() [1/2]

iter_impl operator-- ( int  )
inline

post-decrement (it–)

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9112 of file json.hpp.

◆ operator--() [2/2]

iter_impl& operator-- ( )
inline

pre-decrement (–it)

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9123 of file json.hpp.

◆ operator-=()

iter_impl& operator-= ( difference_type  i)
inline

subtract from iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9288 of file json.hpp.

◆ operator->()

pointer operator-> ( ) const
inline

dereference the iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9035 of file json.hpp.

◆ operator<()

bool operator< ( const iter_impl< U > &  other) const
inline

comparison: smaller

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9197 of file json.hpp.

◆ operator<=()

bool operator<= ( const iter_impl< U > &  other) const
inline

comparison: less than or equal

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9230 of file json.hpp.

◆ operator=()

iter_impl& operator= ( iter_impl< U >  other)
inlinenoexcept

copy assignment

Parameters
[in,out]otheriterator to copy from
Note
It is not checked whether other is initialized.

Definition at line 8911 of file json.hpp.

Here is the call graph for this function:

◆ operator==()

bool operator== ( const iter_impl< U > &  other) const
inline

comparison: equal

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9155 of file json.hpp.

◆ operator>()

bool operator> ( const iter_impl< U > &  other) const
inline

comparison: greater than

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9239 of file json.hpp.

◆ operator>=()

bool operator>= ( const iter_impl< U > &  other) const
inline

comparison: greater than or equal

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9248 of file json.hpp.

Here is the call graph for this function:

◆ operator[]()

reference operator[] ( difference_type  n) const
inline

access to successor

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9346 of file json.hpp.

◆ value()

reference value ( ) const
inline

return the value of an iterator

Precondition
The iterator is initialized; i.e. m_object != nullptr.

Definition at line 9399 of file json.hpp.

Friends And Related Function Documentation

◆ basic_json

friend class basic_json
friend

allow basic_json to access private members

Definition at line 8817 of file json.hpp.


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