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_iterator & operator++ ()
 
basic_array_iterator operator++ (int)
 
basic_array_iterator & operator-- ()
 
basic_array_iterator operator-- (int)
 
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_iterator & operator+= (size_type n)
 
basic_array_iterator operator+ (size_type n) const
 
basic_array_iterator & operator-= (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 120 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 125 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 123 of file value.hpp.

◆ pointer

template<typename T , typename TArrayView >
using jsonv::value::basic_array_iterator< T, TArrayView >::pointer = T*

Definition at line 126 of file value.hpp.

◆ reference

template<typename T , typename TArrayView >
using jsonv::value::basic_array_iterator< T, TArrayView >::reference = T&

Definition at line 127 of file value.hpp.

◆ value_type

template<typename T , typename TArrayView >
using jsonv::value::basic_array_iterator< T, TArrayView >::value_type = T

Definition at line 124 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 128 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 133 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 139 of file value.hpp.

Member Function Documentation

◆ operator!=()

template<typename T , typename TArrayView >
template<typename U , typename UArrayView >
bool jsonv::value::basic_array_iterator< T, TArrayView >::operator!= ( const basic_array_iterator< U, UArrayView > &  other) const
inline

Definition at line 181 of file value.hpp.

◆ operator*()

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

Definition at line 187 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 205 of file value.hpp.

◆ operator++() [1/2]

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

Definition at line 146 of file value.hpp.

◆ operator++() [2/2]

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

Definition at line 152 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 198 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 227 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 219 of file value.hpp.

◆ operator--() [1/2]

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

Definition at line 159 of file value.hpp.

◆ operator--() [2/2]

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

Definition at line 165 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 212 of file value.hpp.

◆ operator->()

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

Definition at line 193 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 233 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 239 of file value.hpp.

◆ operator==()

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

Definition at line 174 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 245 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 251 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 257 of file value.hpp.

Friends And Related Symbol Documentation

◆ basic_array_iterator

template<typename T , typename TArrayView >
template<typename U , typename UArrayView >
friend struct basic_array_iterator
friend

Definition at line 263 of file value.hpp.

◆ value

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

Definition at line 265 of file value.hpp.


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