LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference > Struct Template Reference

#include "stdmap_shims.h"

Inheritance diagram for shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >:

Public Types

using type = TT
 

Public Member Functions

 iter (typename mapmap_t::iterator it)
 
 iter (typename listmap_t::iterator it)
 
TT & operator* ()
 
TT * operator-> ()
 
TT const * operator-> () const
 
TT & operator++ ()
 
bool operator== (iter other) const
 
bool operator!= (iter other) const
 
template<typename II >
std::enable_if< std::is_same< typename mapmap_t::iterator, II >::value, II >::type get (II)
 
template<typename II >
std::enable_if< std::is_same< typename listmap_t::iterator, II >::value, II >::type get (II)
 

Private Attributes

iterator_tuple _iters
 

Friends

template<typename IIL , typename IIR >
std::enable_if< !std::is_same< IIL, IIR >::value &&std::is_same< typename std::remove_const< typename IIL::type >::type, typename std::remove_const< typename IIR::type >::type >::value, bool >::type operator== (IIL, IIR)
 
template<typename IIL , typename IIR >
std::enable_if< !std::is_same< IIL, IIR >::value &&std::is_same< typename std::remove_const< typename IIL::type >::type, typename std::remove_const< typename IIR::type >::type >::value, bool >::type operator!= (IIL, IIR)
 

Detailed Description

template<class Key, class T, class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category, class TT, class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
struct shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >

Definition at line 54 of file stdmap_shims.h.

Member Typedef Documentation

template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
using shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::type = TT

Definition at line 55 of file stdmap_shims.h.

Constructor & Destructor Documentation

template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::iter ( typename mapmap_t::iterator  it)
inline

Definition at line 57 of file stdmap_shims.h.

57 { _iters.mapmap_iter = it; }
iterator_tuple _iters
Definition: stdmap_shims.h:129
mapmap_t::iterator mapmap_iter
Definition: stdmap_shims.h:45
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::iter ( typename listmap_t::iterator  it)
inline

Definition at line 58 of file stdmap_shims.h.

58 { _iters.listmap_iter = it; }
iterator_tuple _iters
Definition: stdmap_shims.h:129
listmap_t::iterator listmap_iter
Definition: stdmap_shims.h:46

Member Function Documentation

template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
template<typename II >
std::enable_if< std::is_same<typename mapmap_t::iterator, II>::value, II>::type shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::get ( II  )
inline

Definition at line 97 of file stdmap_shims.h.

References fhicl::detail::atom::value().

Referenced by shims::map< Key, T, Compare, Allocator >::erase().

98  {
99  return _iters.mapmap_iter;
100  }
iterator_tuple _iters
Definition: stdmap_shims.h:129
mapmap_t::iterator mapmap_iter
Definition: stdmap_shims.h:45
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
template<typename II >
std::enable_if< std::is_same<typename listmap_t::iterator, II>::value, II>::type shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::get ( II  )
inline

Definition at line 105 of file stdmap_shims.h.

References shims::operator!=(), shims::operator==(), and fhicl::detail::atom::value().

106  {
107  return _iters.listmap_iter;
108  }
iterator_tuple _iters
Definition: stdmap_shims.h:129
listmap_t::iterator listmap_iter
Definition: stdmap_shims.h:46
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
bool shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::operator!= ( iter< Category, TT, Distance, Pointer, Reference >  other) const
inline

Definition at line 89 of file stdmap_shims.h.

References shims::operator==(), and fhicl::detail::atom::value().

90  {
91  return !operator==(other);
92  }
bool operator==(iter other) const
Definition: stdmap_shims.h:81
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
TT& shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::operator* ( )
inline

Definition at line 60 of file stdmap_shims.h.

References shims::isSnippetMode().

61  {
63  }
bool isSnippetMode(bool m)
Definition: parse_shims.cc:9
iterator_tuple _iters
Definition: stdmap_shims.h:129
listmap_t::iterator listmap_iter
Definition: stdmap_shims.h:46
mapmap_t::iterator mapmap_iter
Definition: stdmap_shims.h:45
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
TT& shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::operator++ ( )
inline
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
TT* shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::operator-> ( )
inline

Definition at line 65 of file stdmap_shims.h.

References shims::isSnippetMode().

66  {
68  }
bool isSnippetMode(bool m)
Definition: parse_shims.cc:9
iterator_tuple _iters
Definition: stdmap_shims.h:129
listmap_t::iterator listmap_iter
Definition: stdmap_shims.h:46
mapmap_t::iterator mapmap_iter
Definition: stdmap_shims.h:45
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
TT const* shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::operator-> ( ) const
inline

Definition at line 69 of file stdmap_shims.h.

References shims::isSnippetMode().

70  {
72  }
bool isSnippetMode(bool m)
Definition: parse_shims.cc:9
iterator_tuple _iters
Definition: stdmap_shims.h:129
listmap_t::iterator listmap_iter
Definition: stdmap_shims.h:46
mapmap_t::iterator mapmap_iter
Definition: stdmap_shims.h:45
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
bool shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::operator== ( iter< Category, TT, Distance, Pointer, Reference >  other) const
inline

Friends And Related Function Documentation

template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
template<typename IIL , typename IIR >
std::enable_if< !std::is_same<IIL, IIR>::value && std::is_same< typename std::remove_const<typename IIL::type>::type, typename std::remove_const<typename IIR::type>::type>::value, bool>::type operator!= ( IIL  left,
IIR  right 
)
friend

Definition at line 347 of file stdmap_shims.h.

348  {
349  return !operator==(left, right);
350  }
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104
bool operator==(iter other) const
Definition: stdmap_shims.h:81
template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
template<typename IIL , typename IIR >
std::enable_if< !std::is_same<IIL, IIR>::value && std::is_same< typename std::remove_const<typename IIL::type>::type, typename std::remove_const<typename IIR::type>::type>::value, bool>::type operator== ( IIL  left,
IIR  right 
)
friend

Definition at line 334 of file stdmap_shims.h.

335  {
336  return isSnippetMode() ?
337  left._iters.listmap_iter == right._iters.listmap_iter :
338  left._iters.mapmap_iter == right._iters.mapmap_iter;
339  }
bool isSnippetMode(bool m)
Definition: parse_shims.cc:9
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:112
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:104

Member Data Documentation

template<class Key , class T , class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
template<class Category , class TT , class Distance = std::ptrdiff_t, class Pointer = TT*, class Reference = TT&>
iterator_tuple shims::map< Key, T, Compare, Allocator >::iter< Category, TT, Distance, Pointer, Reference >::_iters
private

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