JSON Voorhees
Killer JSON for C++
Loading...
Searching...
No Matches
jsonv::value::basic_array_iterator< T, TArrayView > Struct Template Reference

The base type for iterating over array values. More...

#include <jsonv/value.hpp>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = T
 
using difference_type = std::ptrdiff_t
 
using pointer = T *
 
using reference = T &
 

Public Member Functions

 basic_array_iterator (TArrayView *owner, size_type index)
 
template<typename U , typename UArrayView >
 basic_array_iterator (const basic_array_iterator< U, UArrayView > &source, typename std::enable_if< std::is_convertible< U *, T * >::value >::type *=0)
 
basic_array_iteratoroperator++ ()
 
basic_array_iterator operator++ (int) const
 
basic_array_iteratoroperator-- ()
 
basic_array_iterator operator-- (int) const
 
template<typename U , typename UArrayView >
bool operator== (const basic_array_iterator< U, UArrayView > &other) const
 
template<typename U , typename UArrayView >
bool operator!= (const basic_array_iterator< U, UArrayView > &other) const
 
T & operator* () const
 
T * operator-> () const
 
basic_array_iteratoroperator+= (size_type n)
 
basic_array_iterator operator+ (size_type n) const
 
basic_array_iteratoroperator-= (size_type n)
 
basic_array_iterator operator- (size_type n) const
 
difference_type operator- (const basic_array_iterator &other) const
 
bool operator< (const basic_array_iterator &rhs) const
 
bool operator<= (const basic_array_iterator &rhs) const
 
bool operator> (const basic_array_iterator &rhs) const
 
bool operator>= (const basic_array_iterator &rhs) const
 
T & operator[] (size_type n) const
 

Friends

class value
 

Detailed Description

template<typename T, typename TArrayView>
struct jsonv::value::basic_array_iterator< T, TArrayView >

The base type for iterating over array values.

Definition at line 114 of file value.hpp.

Member Typedef Documentation

◆ difference_type

template<typename T , typename TArrayView >
using jsonv::value::basic_array_iterator< T, TArrayView >::difference_type = std::ptrdiff_t

Definition at line 119 of file value.hpp.

◆ iterator_category

template<typename T , typename TArrayView >
using jsonv::value::basic_array_iterator< T, TArrayView >::iterator_category = std::random_access_iterator_tag

Definition at line 117 of file value.hpp.

◆ pointer

Definition at line 120 of file value.hpp.

◆ reference

Definition at line 121 of file value.hpp.

◆ value_type

Definition at line 118 of file value.hpp.

Constructor & Destructor Documentation

◆ basic_array_iterator() [1/3]

template<typename T , typename TArrayView >
jsonv::value::basic_array_iterator< T, TArrayView >::basic_array_iterator ( )
inline

Definition at line 122 of file value.hpp.

◆ basic_array_iterator() [2/3]

template<typename T , typename TArrayView >
jsonv::value::basic_array_iterator< T, TArrayView >::basic_array_iterator ( TArrayView owner,
size_type  index 
)
inline

Definition at line 127 of file value.hpp.

◆ basic_array_iterator() [3/3]

template<typename T , typename TArrayView >
template<typename U , typename UArrayView >
jsonv::value::basic_array_iterator< T, TArrayView >::basic_array_iterator ( const basic_array_iterator< U, UArrayView > &  source,
typename std::enable_if< std::is_convertible< U *, T * >::value >::type *  = 0 
)
inline

Definition at line 133 of file value.hpp.

Member Function Documentation

◆ operator!=()

Definition at line 173 of file value.hpp.

◆ operator*()

template<typename T , typename TArrayView >
T & jsonv::value::basic_array_iterator< T, TArrayView >::operator* ( ) const
inline

Definition at line 178 of file value.hpp.

◆ operator+()

template<typename T , typename TArrayView >
basic_array_iterator jsonv::value::basic_array_iterator< T, TArrayView >::operator+ ( size_type  n) const
inline

Definition at line 194 of file value.hpp.

◆ operator++() [1/2]

Definition at line 140 of file value.hpp.

◆ operator++() [2/2]

Definition at line 146 of file value.hpp.

◆ operator+=()

template<typename T , typename TArrayView >
basic_array_iterator & jsonv::value::basic_array_iterator< T, TArrayView >::operator+= ( size_type  n)
inline

Definition at line 188 of file value.hpp.

◆ operator-() [1/2]

template<typename T , typename TArrayView >
difference_type jsonv::value::basic_array_iterator< T, TArrayView >::operator- ( const basic_array_iterator< T, TArrayView > &  other) const
inline

Definition at line 214 of file value.hpp.

◆ operator-() [2/2]

template<typename T , typename TArrayView >
basic_array_iterator jsonv::value::basic_array_iterator< T, TArrayView >::operator- ( size_type  n) const
inline

Definition at line 207 of file value.hpp.

◆ operator--() [1/2]

Definition at line 153 of file value.hpp.

◆ operator--() [2/2]

Definition at line 159 of file value.hpp.

◆ operator-=()

template<typename T , typename TArrayView >
basic_array_iterator & jsonv::value::basic_array_iterator< T, TArrayView >::operator-= ( size_type  n)
inline

Definition at line 201 of file value.hpp.

◆ operator->()

template<typename T , typename TArrayView >
T * jsonv::value::basic_array_iterator< T, TArrayView >::operator-> ( ) const
inline

Definition at line 183 of file value.hpp.

◆ operator<()

Definition at line 219 of file value.hpp.

◆ operator<=()

template<typename T , typename TArrayView >
bool jsonv::value::basic_array_iterator< T, TArrayView >::operator<= ( const basic_array_iterator< T, TArrayView > &  rhs) const
inline

Definition at line 224 of file value.hpp.

◆ operator==()

Definition at line 167 of file value.hpp.

◆ operator>()

Definition at line 229 of file value.hpp.

◆ operator>=()

template<typename T , typename TArrayView >
bool jsonv::value::basic_array_iterator< T, TArrayView >::operator>= ( const basic_array_iterator< T, TArrayView > &  rhs) const
inline

Definition at line 234 of file value.hpp.

◆ operator[]()

template<typename T , typename TArrayView >
T & jsonv::value::basic_array_iterator< T, TArrayView >::operator[] ( size_type  n) const
inline

Definition at line 239 of file value.hpp.

Friends And Related Symbol Documentation

◆ basic_array_iterator

Definition at line 245 of file value.hpp.

◆ value

template<typename T , typename TArrayView >
friend class value
friend

Definition at line 247 of file value.hpp.


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