DAW JSON Link
Public Types | Public Member Functions | Public Attributes | List of all members
DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds > Struct Template Reference

#include <daw_json_parse_array_iterator.h>

Inheritance diagram for DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >:
DAW_JSON_NS::json_details::json_parse_array_iterator_base< ParseState, can_random_v< KnownBounds > >

Public Types

using base = json_parse_array_iterator_base< ParseState, can_random_v< KnownBounds > >
 
using difference_type = typename base::difference_type
 
using element_t = typename JsonMember::json_element_t
 
using iterator_category = typename base::iterator_category
 
using iterator_range_t = ParseState
 
using pointer = arrow_proxy< value_type >
 
using reference = value_type
 
using value_type = typename element_t::parse_to_t
 
- Public Types inherited from DAW_JSON_NS::json_details::json_parse_array_iterator_base< ParseState, can_random_v< KnownBounds > >
using difference_type = std::ptrdiff_t
 
using iterator_category = std::input_iterator_tag
 

Public Member Functions

constexpr json_parse_array_iterator ()=default
 
constexpr json_parse_array_iterator (iterator_range_t &r)
 
constexpr bool operator!= (json_parse_array_iterator const &rhs) const
 
constexpr DAW_ONLY_INLINE value_type operator* ()
 
constexpr DAW_ONLY_INLINE json_parse_array_iteratoroperator++ ()
 
constexpr bool operator== (json_parse_array_iterator const &rhs) const
 

Public Attributes

bool at_first = true
 
- Public Attributes inherited from DAW_JSON_NS::json_details::json_parse_array_iterator_base< ParseState, can_random_v< KnownBounds > >
ParseState * parse_state
 

Additional Inherited Members

- Static Public Attributes inherited from DAW_JSON_NS::json_details::json_parse_array_iterator_base< ParseState, can_random_v< KnownBounds > >
static constexpr bool has_counter
 

Member Typedef Documentation

◆ base

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::base = json_parse_array_iterator_base<ParseState, can_random_v<KnownBounds> >

◆ difference_type

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::difference_type = typename base::difference_type

◆ element_t

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::element_t = typename JsonMember::json_element_t

◆ iterator_category

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::iterator_category = typename base::iterator_category

◆ iterator_range_t

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::iterator_range_t = ParseState

◆ pointer

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::pointer = arrow_proxy<value_type>

◆ reference

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::reference = value_type

◆ value_type

template<typename JsonMember , typename ParseState , bool KnownBounds>
using DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::value_type = typename element_t::parse_to_t

Constructor & Destructor Documentation

◆ json_parse_array_iterator() [1/2]

template<typename JsonMember , typename ParseState , bool KnownBounds>
constexpr DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::json_parse_array_iterator ( )
inlineconstexprdefault

◆ json_parse_array_iterator() [2/2]

template<typename JsonMember , typename ParseState , bool KnownBounds>
constexpr DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::json_parse_array_iterator ( iterator_range_t r)
inlineexplicitconstexpr

Member Function Documentation

◆ operator!=()

template<typename JsonMember , typename ParseState , bool KnownBounds>
constexpr bool DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::operator!= ( json_parse_array_iterator< JsonMember, ParseState, KnownBounds > const &  rhs) const
inlineconstexpr

◆ operator*()

template<typename JsonMember , typename ParseState , bool KnownBounds>
constexpr DAW_ONLY_INLINE value_type DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::operator* ( )
inlineconstexpr

◆ operator++()

template<typename JsonMember , typename ParseState , bool KnownBounds>
constexpr DAW_ONLY_INLINE json_parse_array_iterator& DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::operator++ ( )
inlineconstexpr

◆ operator==()

template<typename JsonMember , typename ParseState , bool KnownBounds>
constexpr bool DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::operator== ( json_parse_array_iterator< JsonMember, ParseState, KnownBounds > const &  rhs) const
inlineconstexpr

Member Data Documentation

◆ at_first

template<typename JsonMember , typename ParseState , bool KnownBounds>
bool DAW_JSON_NS::json_details::json_parse_array_iterator< JsonMember, ParseState, KnownBounds >::at_first = true

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