| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Gaudi::details::masked_iterator< ITERATOR, MASK > Class Template Reference

"masked" iterator iterates ober "masked" intries in the cotainner/range More...

`#include <GaudiKernel/SmartRanges.h>`

Inheritance diagram for Gaudi::details::masked_iterator< ITERATOR, MASK >:
[legend]
Collaboration diagram for Gaudi::details::masked_iterator< ITERATOR, MASK >:
[legend]

## Public Member Functions
| masked_iterator (const MASK &mask, ITERATOR b)
| masked_iterator (MASK &&mask, ITERATOR b)
| masked_iterator ()

## Private Member Functions
void | increment ()
std::iterator_traits< ITERATOR >::reference | dereference () const
bool | equal (const masked_iterator &other) const

## Private Attributes
ITERATOR | m_iterator
MASK | m_mask
size_t | m_index

## Friends
class | boost::iterator_core_access

## Detailed Description

### template<class ITERATOR, class MASK>
class Gaudi::details::masked_iterator< ITERATOR, MASK >

"masked" iterator iterates ober "masked" intries in the cotainner/range

- MASK can be something like boost::dynamic_bitset
  Author
    Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
  Date
    2016-09-20

Definition at line 45 of file SmartRanges.h.

## Constructor & Destructor Documentation

template<class ITERATOR , class MASK >

Gaudi::details::masked_iterator< ITERATOR, MASK >::masked_iterator | ( | const MASK & | mask,
|  | ITERATOR | b
| ) |  |
| inline

Definition at line 55 of file SmartRanges.h.

56 : m_iterator ( b )
57 , m_mask ( mask )
58 , m_index ( mask.find_first() )
59 {
60 if ( MASK::npos != m_index ) { std::advance ( m_iterator , m_index ) ; }
61 }
std::advance
T advance(T...args)
Gaudi::details::masked_iterator::m_index
size_t m_index
Definition: SmartRanges.h:97
Gaudi::details::masked_iterator::m_iterator
ITERATOR m_iterator
Definition: SmartRanges.h:95
Gaudi::details::masked_iterator::m_mask
MASK m_mask
Definition: SmartRanges.h:96
template<class ITERATOR , class MASK >

Gaudi::details::masked_iterator< ITERATOR, MASK >::masked_iterator | ( | MASK && | mask,
|  | ITERATOR | b
| ) |  |
| inline

Definition at line 63 of file SmartRanges.h.

64 : m_iterator ( b )
65 , m_mask ( mask )
66 , m_index ( mask.find_first() )
67 {
68 if ( MASK::npos != m_index ) { std::advance ( m_iterator , m_index ) ; }
69 }
std::advance
T advance(T...args)
Gaudi::details::masked_iterator::m_index
size_t m_index
Definition: SmartRanges.h:97
Gaudi::details::masked_iterator::m_iterator
ITERATOR m_iterator
Definition: SmartRanges.h:95
Gaudi::details::masked_iterator::m_mask
MASK m_mask
Definition: SmartRanges.h:96
template<class ITERATOR , class MASK >

Gaudi::details::masked_iterator< ITERATOR, MASK >::masked_iterator | ( |  | ) |
| inline

Definition at line 71 of file SmartRanges.h.

72 : m_iterator ()
73 , m_mask ()
74 , m_index ( MASK::npos )
75 {}
Gaudi::details::masked_iterator::m_index
size_t m_index
Definition: SmartRanges.h:97
Gaudi::details::masked_iterator::m_iterator
ITERATOR m_iterator
Definition: SmartRanges.h:95
Gaudi::details::masked_iterator::m_mask
MASK m_mask
Definition: SmartRanges.h:96

## Member Function Documentation

template<class ITERATOR , class MASK >

std::iterator_traits<ITERATOR>::reference Gaudi::details::masked_iterator< ITERATOR, MASK >::dereference | ( |  | ) | const
| inline private

Definition at line 88 of file SmartRanges.h.

88 { return *m_iterator ; }
Gaudi::details::masked_iterator::m_iterator
ITERATOR m_iterator
Definition: SmartRanges.h:95
template<class ITERATOR , class MASK >

bool Gaudi::details::masked_iterator< ITERATOR, MASK >::equal | ( | const masked_iterator< ITERATOR, MASK > & | other | ) | const
| inline private

Definition at line 90 of file SmartRanges.h.

91 { return m_index == other.m_index ; }
Gaudi::details::masked_iterator::m_index
size_t m_index
Definition: SmartRanges.h:97
template<class ITERATOR , class MASK >

void Gaudi::details::masked_iterator< ITERATOR, MASK >::increment | ( |  | ) |
| inline private

Definition at line 80 of file SmartRanges.h.

81 {
82 const size_t m = m_mask.find_next( m_index ) ;
83 if ( m != MASK::npos ) { std::advance ( m_iterator , m - m_index ) ; }
84 m_index = m ;
85 }
std::advance
T advance(T...args)
Gaudi::details::masked_iterator::m_index
size_t m_index
Definition: SmartRanges.h:97
Gaudi::details::masked_iterator::m_iterator
ITERATOR m_iterator
Definition: SmartRanges.h:95
Gaudi::details::masked_iterator::m_mask
MASK m_mask
Definition: SmartRanges.h:96
Gaudi::Units::m
constexpr double m
Definition: SystemOfUnits.h:93

## Friends And Related Function Documentation

template<class ITERATOR , class MASK >

friend class boost::iterator_core_access
| friend

Definition at line 79 of file SmartRanges.h.

## Member Data Documentation

template<class ITERATOR , class MASK >

size_t Gaudi::details::masked_iterator< ITERATOR, MASK >::m_index
| private

Definition at line 97 of file SmartRanges.h.

template<class ITERATOR , class MASK >

ITERATOR Gaudi::details::masked_iterator< ITERATOR, MASK >::m_iterator
| private

Definition at line 95 of file SmartRanges.h.

template<class ITERATOR , class MASK >

MASK Gaudi::details::masked_iterator< ITERATOR, MASK >::m_mask
| private

Definition at line 96 of file SmartRanges.h.

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

- GaudiKernel/GaudiKernel/SmartRanges.h