STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
table_iterator< IsConst > Class Template Reference

#include <toml.hpp>

Public Types

using value_type = table_proxy_pair<IsConst>
using reference = value_type&
using pointer = value_type*
using difference_type = typename std::iterator_traits<map_iterator>::difference_type
using iterator_category = typename std::iterator_traits<map_iterator>::iterator_category

Public Member Functions

TOML_NODISCARD_CTOR table_iterator () noexcept=default
TOML_NODISCARD_CTOR table_iterator (mutable_map_iterator iter) noexcept
TOML_NODISCARD_CTOR table_iterator (const_map_iterator iter) noexcept
TOML_NODISCARD_CTOR table_iterator (const table_iterator< false > &other) noexcept
TOML_NODISCARD_CTOR table_iterator (const table_iterator &other) noexcept
table_iterator & operator= (const table_iterator &rhs) noexcept
table_iterator & operator++ () noexcept
table_iterator operator++ (int) noexcept
table_iterator & operator-- () noexcept
table_iterator operator-- (int) noexcept
TOML_PURE_INLINE_GETTER reference operator* () const noexcept
TOML_PURE_INLINE_GETTER pointer operator-> () const noexcept
TOML_PURE_INLINE_GETTER operator const map_iterator & () const noexcept
TOML_PURE_INLINE_GETTER operator const const_map_iterator () const noexcept

Private Types

using proxy_type = table_proxy_pair<IsConst>
using mutable_map_iterator = std::map<toml::key, node_ptr, std::less<>>::iterator
using const_map_iterator = std::map<toml::key, node_ptr, std::less<>>::const_iterator
using map_iterator = std::conditional_t<IsConst, const_map_iterator, mutable_map_iterator>

Private Member Functions

TOML_NODISCARD proxy_type * get_proxy () const noexcept

Private Attributes

map_iterator iter_
unsigned char proxy_ [sizeof(proxy_type)]
bool proxy_instantiated_ = false

Friends

template<bool>
class table_iterator
TOML_PURE_INLINE_GETTER friend bool operator== (const table_iterator &lhs, const table_iterator &rhs) noexcept
TOML_PURE_INLINE_GETTER friend bool operator!= (const table_iterator &lhs, const table_iterator &rhs) noexcept

Detailed Description

template<bool IsConst>
class table_iterator< IsConst >

Definition at line 7469 of file toml.hpp.

Member Typedef Documentation

◆ const_map_iterator

template<bool IsConst>
using table_iterator< IsConst >::const_map_iterator = std::map<toml::key, node_ptr, std::less<>>::const_iterator
private

Definition at line 7477 of file toml.hpp.

◆ difference_type

template<bool IsConst>
using table_iterator< IsConst >::difference_type = typename std::iterator_traits<map_iterator>::difference_type

Definition at line 7533 of file toml.hpp.

◆ iterator_category

template<bool IsConst>
using table_iterator< IsConst >::iterator_category = typename std::iterator_traits<map_iterator>::iterator_category

Definition at line 7534 of file toml.hpp.

◆ map_iterator

template<bool IsConst>
using table_iterator< IsConst >::map_iterator = std::conditional_t<IsConst, const_map_iterator, mutable_map_iterator>
private

Definition at line 7478 of file toml.hpp.

◆ mutable_map_iterator

template<bool IsConst>
using table_iterator< IsConst >::mutable_map_iterator = std::map<toml::key, node_ptr, std::less<>>::iterator
private

Definition at line 7476 of file toml.hpp.

◆ pointer

template<bool IsConst>
using table_iterator< IsConst >::pointer = value_type*

Definition at line 7532 of file toml.hpp.

◆ proxy_type

template<bool IsConst>
using table_iterator< IsConst >::proxy_type = table_proxy_pair<IsConst>
private

Definition at line 7475 of file toml.hpp.

◆ reference

template<bool IsConst>
using table_iterator< IsConst >::reference = value_type&

Definition at line 7531 of file toml.hpp.

◆ value_type

template<bool IsConst>
using table_iterator< IsConst >::value_type = table_proxy_pair<IsConst>

Definition at line 7530 of file toml.hpp.

Constructor & Destructor Documentation

◆ table_iterator() [1/5]

template<bool IsConst>
TOML_NODISCARD_CTOR table_iterator< IsConst >::table_iterator ( )
defaultnoexcept

References TOML_NODISCARD_CTOR.

◆ table_iterator() [2/5]

template<bool IsConst>
TOML_NODISCARD_CTOR table_iterator< IsConst >::table_iterator ( mutable_map_iterator iter)
inlineexplicitnoexcept

Definition at line 7502 of file toml.hpp.

References iter_, and table_iterator.

◆ table_iterator() [3/5]

template<bool IsConst>
TOML_NODISCARD_CTOR table_iterator< IsConst >::table_iterator ( const_map_iterator iter)
inlineexplicitnoexcept

Definition at line 7508 of file toml.hpp.

References iter_.

◆ table_iterator() [4/5]

template<bool IsConst>
TOML_NODISCARD_CTOR table_iterator< IsConst >::table_iterator ( const table_iterator< false > & other)
inlinenoexcept

Definition at line 7514 of file toml.hpp.

References iter_, and table_iterator.

◆ table_iterator() [5/5]

template<bool IsConst>
TOML_NODISCARD_CTOR table_iterator< IsConst >::table_iterator ( const table_iterator< IsConst > & other)
inlinenoexcept

Definition at line 7519 of file toml.hpp.

References iter_, and table_iterator.

Member Function Documentation

◆ get_proxy()

template<bool IsConst>
TOML_NODISCARD proxy_type * table_iterator< IsConst >::get_proxy ( ) const
inlineprivatenoexcept

Definition at line 7485 of file toml.hpp.

References iter_, p, proxy_, proxy_instantiated_, and TOML_LAUNDER.

Referenced by operator*(), and operator->().

◆ operator const const_map_iterator()

template<bool IsConst>
TOML_PURE_INLINE_GETTER table_iterator< IsConst >::operator const const_map_iterator ( ) const
inlineexplicitnoexcept

Definition at line 7586 of file toml.hpp.

References iter_.

◆ operator const map_iterator &()

template<bool IsConst>
TOML_PURE_INLINE_GETTER table_iterator< IsConst >::operator const map_iterator & ( ) const
inlineexplicitnoexcept

Definition at line 7579 of file toml.hpp.

References iter_.

◆ operator*()

template<bool IsConst>
TOML_PURE_INLINE_GETTER reference table_iterator< IsConst >::operator* ( ) const
inlinenoexcept

Definition at line 7567 of file toml.hpp.

References get_proxy().

◆ operator++() [1/2]

template<bool IsConst>
table_iterator & table_iterator< IsConst >::operator++ ( )
inlinenoexcept

Definition at line 7536 of file toml.hpp.

References iter_, proxy_instantiated_, and table_iterator.

◆ operator++() [2/2]

template<bool IsConst>
table_iterator table_iterator< IsConst >::operator++ ( int )
inlinenoexcept

Definition at line 7543 of file toml.hpp.

References iter_, proxy_instantiated_, and table_iterator.

◆ operator--() [1/2]

template<bool IsConst>
table_iterator & table_iterator< IsConst >::operator-- ( )
inlinenoexcept

Definition at line 7551 of file toml.hpp.

References iter_, proxy_instantiated_, and table_iterator.

◆ operator--() [2/2]

template<bool IsConst>
table_iterator table_iterator< IsConst >::operator-- ( int )
inlinenoexcept

Definition at line 7558 of file toml.hpp.

References iter_, proxy_instantiated_, and table_iterator.

◆ operator->()

template<bool IsConst>
TOML_PURE_INLINE_GETTER pointer table_iterator< IsConst >::operator-> ( ) const
inlinenoexcept

Definition at line 7573 of file toml.hpp.

References get_proxy().

◆ operator=()

template<bool IsConst>
table_iterator & table_iterator< IsConst >::operator= ( const table_iterator< IsConst > & rhs)
inlinenoexcept

Definition at line 7523 of file toml.hpp.

References iter_, proxy_instantiated_, rhs, and table_iterator.

◆ operator!=

template<bool IsConst>
TOML_PURE_INLINE_GETTER friend bool operator!= ( const table_iterator< IsConst > & lhs,
const table_iterator< IsConst > & rhs )
friend

Definition at line 7598 of file toml.hpp.

References rhs, and table_iterator.

◆ operator==

template<bool IsConst>
TOML_PURE_INLINE_GETTER friend bool operator== ( const table_iterator< IsConst > & lhs,
const table_iterator< IsConst > & rhs )
friend

Definition at line 7592 of file toml.hpp.

References rhs, and table_iterator.

◆ table_iterator

template<bool IsConst>
template<bool>
friend class table_iterator
friend

Member Data Documentation

◆ iter_

◆ proxy_

template<bool IsConst>
unsigned char table_iterator< IsConst >::proxy_[sizeof(proxy_type)]
mutableprivate

Definition at line 7481 of file toml.hpp.

Referenced by get_proxy().

◆ proxy_instantiated_

template<bool IsConst>
bool table_iterator< IsConst >::proxy_instantiated_ = false
mutableprivate

Definition at line 7482 of file toml.hpp.

Referenced by get_proxy(), operator++(), operator++(), operator--(), operator--(), and operator=().


The documentation for this class was generated from the following file:
  • daq-server/diablo_server/lib/include/toml++/toml.hpp