Iterators recursing though nested collections. More...
#include <type_traits>
#include <iterator>
Go to the source code of this file.
Classes | |
struct | lar::details::type_traits::has_const_iterator_struct< T, bool > |
struct | lar::has_const_iterator< T > |
class | lar::Identity< T > |
Functor returning the object specified as argument. More... | |
class | lar::PairSecond< T > |
class | lar::deep_const_fwd_iterator_nested< ITER, INNERCONTEXTRACT > |
Internal helper class: actual implementation of nested iterator. More... | |
struct | lar::details::type_traits::has_const_iterator_struct< T, bool > |
struct | lar::details::type_traits::has_const_iterator_struct< T, true > |
class | lar::Identity< T > |
Functor returning the object specified as argument. More... | |
class | lar::PairSecond< T > |
class | lar::deep_const_fwd_iterator_nested< ITER, INNERCONTEXTRACT > |
Internal helper class: actual implementation of nested iterator. More... | |
struct | lar::deep_const_fwd_iterator_nested< ITER, INNERCONTEXTRACT >::BeginPositionTag |
struct | lar::deep_const_fwd_iterator_nested< ITER, INNERCONTEXTRACT >::EndPositionTag |
Namespaces | |
lar | |
LArSoft-specific namespace. | |
lar::details | |
Namespace hiding implementation details. | |
lar::details::type_traits | |
Typedefs | |
template<typename CITER , typename INNERCONTEXTRACT = Identity<typename CITER::value_type>> | |
using | lar::double_fwd_const_iterator = deep_const_fwd_iterator_nested< CITER, INNERCONTEXTRACT > |
Functions | |
template<typename T > | |
constexpr auto | lar::details::type_traits::has_const_iterator_helper (T *=nullptr) -> decltype(typename T::const_iterator(), bool()) |
constexpr bool | lar::details::type_traits::has_const_iterator_helper (...) |
template<typename CITER , typename INNERCONTEXTRACT > | |
void | std::swap (lar::deep_const_fwd_iterator_nested< CITER, INNERCONTEXTRACT > &a, lar::deep_const_fwd_iterator_nested< CITER, INNERCONTEXTRACT > &b) |
Iterators recursing though nested collections.
This header is currently a draft with reduced (essential) functionality. Its ambition is to become general enough to be used transparently.
Definition in file NestedIterator.h.