Template Class iteration_proxy_value

Class Documentation

template<typename IteratorType>
class iteration_proxy_value

Public Types

using difference_type = std::ptrdiff_t
using value_type = iteration_proxy_value
using pointer = value_type*
using reference = value_type&
using iterator_category = std::input_iterator_tag
using string_type = typename std::remove_cv<typename std::remove_reference<decltype(std::declval<IteratorType>().key())>::type>::type

Public Functions

explicit iteration_proxy_value() = default
inline explicit iteration_proxy_value(IteratorType it, std::size_t array_index_ = 0) noexcept(std::is_nothrow_move_constructible<IteratorType>::value && std::is_nothrow_default_constructible<string_type>::value)
iteration_proxy_value(iteration_proxy_value const&) = default
iteration_proxy_value &operator=(iteration_proxy_value const&) = default
iteration_proxy_value(iteration_proxy_value&&) noexcept(std::is_nothrow_move_constructible<IteratorType>::value && std::is_nothrow_move_constructible<string_type>::value) = default
iteration_proxy_value &operator=(iteration_proxy_value&&) noexcept(std::is_nothrow_move_assignable<IteratorType>::value && std::is_nothrow_move_assignable<string_type>::value) = default
~iteration_proxy_value() = default
inline const iteration_proxy_value &operator*() const

dereference operator (needed for range-based for)

inline iteration_proxy_value &operator++()

increment operator (needed for range-based for)

inline iteration_proxy_value operator++(int) &
inline bool operator==(const iteration_proxy_value &o) const

equality operator (needed for InputIterator)

inline bool operator!=(const iteration_proxy_value &o) const

inequality operator (needed for range-based for)

inline const string_type &key() const

return key of the iterator

inline IteratorType::reference value() const

return value of the iterator