DAW JSON Link
Public Types | Public Member Functions | List of all members
daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy > Class Template Reference

#include <daw_json_iterator.h>

Public Types

using difference_type = std::ptrdiff_t
 
using element_type = typename json_details::json_deduced_type< JsonElement >::without_name
 
using iterator_category = std::input_iterator_tag
 
using pointer = json_details::arrow_proxy< value_type >
 
using reference = value_type
 
using value_type = typename element_type::parse_to_t
 

Public Member Functions

constexpr json_array_iterator ()=default
 
template<typename String , std::enable_if_t< traits::not_same< json_array_iterator, daw::remove_cvref_t< String > >::value, std::nullptr_t > = nullptr>
constexpr json_array_iterator (String &&jd)
 
template<typename String , std::enable_if_t< traits::not_same< json_array_iterator, daw::remove_cvref_t< String > >::value, std::nullptr_t > = nullptr>
constexpr json_array_iterator (String &&jd, std::string_view start_path)
 
constexpr bool good () const
 
constexpr operator bool () const
 
constexpr bool operator!= (json_array_iterator const &rhs) const
 
constexpr value_type operator* () const
 
constexpr json_array_iteratoroperator++ ()
 
constexpr json_array_iterator operator++ (int) &
 
pointer operator-> () const
 
constexpr bool operator== (json_array_iterator const &rhs) const
 

Member Typedef Documentation

◆ difference_type

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
using daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::difference_type = std::ptrdiff_t

◆ element_type

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
using daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::element_type = typename json_details::json_deduced_type<JsonElement>::without_name

◆ iterator_category

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
using daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::iterator_category = std::input_iterator_tag

◆ pointer

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
using daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::pointer = json_details::arrow_proxy<value_type>

◆ reference

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
using daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::reference = value_type

◆ value_type

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
using daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::value_type = typename element_type::parse_to_t

Constructor & Destructor Documentation

◆ json_array_iterator() [1/3]

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::json_array_iterator ( )
inlineconstexprdefault

◆ json_array_iterator() [2/3]

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
template<typename String , std::enable_if_t< traits::not_same< json_array_iterator, daw::remove_cvref_t< String > >::value, std::nullptr_t > = nullptr>
constexpr daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::json_array_iterator ( String &&  jd)
inlineexplicitconstexpr

◆ json_array_iterator() [3/3]

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
template<typename String , std::enable_if_t< traits::not_same< json_array_iterator, daw::remove_cvref_t< String > >::value, std::nullptr_t > = nullptr>
constexpr daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::json_array_iterator ( String &&  jd,
std::string_view  start_path 
)
inlineexplicitconstexpr

Member Function Documentation

◆ good()

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr bool daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::good ( ) const
inlineconstexpr

◆ operator bool()

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator bool ( ) const
inlineexplicitconstexpr

◆ operator!=()

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr bool daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator!= ( json_array_iterator< JsonElement, ParsePolicy > const &  rhs) const
inlineconstexpr

◆ operator*()

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr value_type daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator* ( ) const
inlineconstexpr

◆ operator++() [1/2]

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr json_array_iterator & daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator++ ( )
inlineconstexpr

◆ operator++() [2/2]

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr json_array_iterator daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator++ ( int  ) &
inlineconstexpr

◆ operator->()

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
pointer daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator-> ( ) const
inline

◆ operator==()

template<typename JsonElement , typename ParsePolicy = NoCommentSkippingPolicyChecked>
constexpr bool daw::json::DAW_JSON_VER::json_array_iterator< JsonElement, ParsePolicy >::operator== ( json_array_iterator< JsonElement, ParsePolicy > const &  rhs) const
inlineconstexpr

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