WPILibC++ 2023.4.3
|
a template for a bidirectional iterator for the json class More...
#include </home/runner/work/allwpilib/allwpilib/wpiutil/src/main/native/thirdparty/json/include/wpi/json.h>
Public Types | |
using | iterator_category = std::bidirectional_iterator_tag |
The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. More... | |
using | value_type = typename BasicJsonType::value_type |
the type of the values when the iterator is dereferenced More... | |
using | difference_type = typename BasicJsonType::difference_type |
a type to represent differences between iterators More... | |
using | pointer = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type |
defines a pointer to the type iterated over (value_type) More... | |
using | reference = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type |
defines a reference to the type iterated over (value_type) More... | |
Public Member Functions | |
iter_impl ()=default | |
default constructor More... | |
iter_impl (pointer object) noexcept | |
constructor for a given JSON instance More... | |
iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept | |
converting constructor More... | |
iter_impl & | operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept |
converting 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 const | operator++ (int) |
post-increment (it++) More... | |
iter_impl & | operator++ () |
pre-increment (++it) More... | |
iter_impl const | operator-- (int) |
post-decrement (it–) More... | |
iter_impl & | operator-- () |
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_impl & | operator+= (difference_type i) |
add to iterator More... | |
iter_impl & | operator-= (difference_type i) |
subtract from iterator More... | |
iter_impl | operator+ (difference_type i) const |
add to iterator More... | |
iter_impl | operator- (difference_type i) const |
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... | |
std::string_view | key () const |
return the key of an object iterator More... | |
reference | value () const |
return the value of an iterator More... | |
Friends | |
class | ::wpi::JsonTest |
iter_impl | operator+ (difference_type i, const iter_impl &it) |
addition of distance and iterator More... | |
a template for a bidirectional iterator for the json class
This class implements a both iterators (iterator and const_iterator) for the json class.
@requirement The class satisfies the following concept requirements:
using wpi::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type |
a type to represent differences between iterators
using wpi::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag |
The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17.
The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators.
using wpi::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type |
defines a pointer to the type iterated over (value_type)
using wpi::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type |
defines a reference to the type iterated over (value_type)
using wpi::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type |
the type of the values when the iterator is dereferenced
|
default |
default constructor
allow json to access private members
|
inlineexplicitnoexcept |
constructor for a given JSON instance
[in] | object | pointer to a JSON object for this iterator |
m_object != nullptr
.
|
inlinenoexcept |
converting constructor
[in] | other | non-const iterator to copy from |
|
inline |
return the key of an object iterator
m_object != nullptr
.
|
inline |
comparison: not equal
m_object != nullptr
.
|
inline |
return a reference to the value pointed to by the iterator
m_object != nullptr
.
|
inline |
add to iterator
m_object != nullptr
.
|
inline |
pre-increment (++it)
m_object != nullptr
.
|
inline |
post-increment (it++)
m_object != nullptr
.
|
inline |
add to iterator
m_object != nullptr
.
|
inline |
return difference
m_object != nullptr
.
|
inline |
subtract from iterator
m_object != nullptr
.
|
inline |
pre-decrement (–it)
m_object != nullptr
.
|
inline |
post-decrement (it–)
m_object != nullptr
.
|
inline |
subtract from iterator
m_object != nullptr
.
|
inline |
dereference the iterator
m_object != nullptr
.
|
inline |
comparison: smaller
m_object != nullptr
.
|
inline |
comparison: less than or equal
m_object != nullptr
.
|
inlinenoexcept |
converting assignment
[in,out] | other | non-const iterator to copy from |
|
inline |
comparison: equal
m_object != nullptr
.
|
inline |
comparison: greater than
m_object != nullptr
.
|
inline |
comparison: greater than or equal
m_object != nullptr
.
|
inline |
access to successor
m_object != nullptr
.
|
inline |
return the value of an iterator
m_object != nullptr
.
|
friend |
|
friend |
addition of distance and iterator
m_object != nullptr
.