ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FW::GroupBy< Iterator, KeyGetter >::GroupIterator Class Reference

Iterator type representing a group of elements. More...

#include <acts/blob/master/Examples/Framework/include/ACTFW/Utilities/GroupBy.hpp>

+ Collaboration diagram for FW::GroupBy< Iterator, KeyGetter >::GroupIterator:

Public Types

using iterator_category = std::input_iterator_tag
 
using value_type = Group
 
using difference_type = std::ptrdiff_t
 
using pointer = Group *
 
using reference = Group &
 

Public Member Functions

constexpr GroupIterator (const GroupBy &groupBy, Iterator groupBegin)
 
constexpr GroupIteratoroperator++ ()
 Pre-increment operator to advance to the next group.
 
constexpr GroupIterator operator++ (int)
 Post-increment operator to advance to the next group.
 
constexpr Group operator* () const
 Derefence operator that returns the pointed-to group of elements.
 

Private Attributes

const GroupBym_groupBy
 
Iterator m_groupBegin
 
Iterator m_groupEnd
 

Friends

constexpr bool operator== (const GroupIterator &lhs, const GroupEndIterator &rhs)
 
constexpr bool operator!= (const GroupIterator &lhs, const GroupEndIterator &rhs)
 

Detailed Description

template<typename Iterator, typename KeyGetter>
class FW::GroupBy< Iterator, KeyGetter >::GroupIterator

Iterator type representing a group of elements.

Definition at line 52 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 52 of file GroupBy.hpp

Member Typedef Documentation

template<typename Iterator , typename KeyGetter >
using FW::GroupBy< Iterator, KeyGetter >::GroupIterator::difference_type = std::ptrdiff_t

Definition at line 56 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 56 of file GroupBy.hpp

template<typename Iterator , typename KeyGetter >
using FW::GroupBy< Iterator, KeyGetter >::GroupIterator::iterator_category = std::input_iterator_tag

Definition at line 54 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 54 of file GroupBy.hpp

template<typename Iterator , typename KeyGetter >
using FW::GroupBy< Iterator, KeyGetter >::GroupIterator::pointer = Group*

Definition at line 57 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 57 of file GroupBy.hpp

template<typename Iterator , typename KeyGetter >
using FW::GroupBy< Iterator, KeyGetter >::GroupIterator::reference = Group&

Definition at line 58 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 58 of file GroupBy.hpp

template<typename Iterator , typename KeyGetter >
using FW::GroupBy< Iterator, KeyGetter >::GroupIterator::value_type = Group

Definition at line 55 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 55 of file GroupBy.hpp

Constructor & Destructor Documentation

template<typename Iterator , typename KeyGetter >
constexpr FW::GroupBy< Iterator, KeyGetter >::GroupIterator::GroupIterator ( const GroupBy groupBy,
Iterator  groupBegin 
)
inline

Definition at line 60 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 60 of file GroupBy.hpp

Member Function Documentation

template<typename Iterator , typename KeyGetter >
constexpr Group FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator* ( ) const
inline

Derefence operator that returns the pointed-to group of elements.

Definition at line 79 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 79 of file GroupBy.hpp

References FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupBegin, FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupBy, FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupEnd, FW::GroupBy< Iterator, KeyGetter >::m_keyGetter, and FW::makeRange().

+ Here is the call graph for this function:

template<typename Iterator , typename KeyGetter >
constexpr GroupIterator& FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator++ ( )
inline

Pre-increment operator to advance to the next group.

Definition at line 65 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 65 of file GroupBy.hpp

References FW::GroupBy< Iterator, KeyGetter >::findEndOfGroup(), FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupBegin, FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupBy, FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupEnd, and boost::swap().

+ Here is the call graph for this function:

template<typename Iterator , typename KeyGetter >
constexpr GroupIterator FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator++ ( int  )
inline

Post-increment operator to advance to the next group.

Definition at line 73 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 73 of file GroupBy.hpp

Friends And Related Function Documentation

template<typename Iterator , typename KeyGetter >
constexpr bool operator!= ( const GroupIterator lhs,
const GroupEndIterator rhs 
)
friend

Definition at line 95 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 95 of file GroupBy.hpp

template<typename Iterator , typename KeyGetter >
constexpr bool operator== ( const GroupIterator lhs,
const GroupEndIterator rhs 
)
friend

Definition at line 91 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 91 of file GroupBy.hpp

Member Data Documentation

template<typename Iterator , typename KeyGetter >
Iterator FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupBegin
private

Definition at line 88 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 88 of file GroupBy.hpp

Referenced by FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator*(), and FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator++().

template<typename Iterator , typename KeyGetter >
const GroupBy& FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupBy
private

Definition at line 87 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 87 of file GroupBy.hpp

Referenced by FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator*(), and FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator++().

template<typename Iterator , typename KeyGetter >
Iterator FW::GroupBy< Iterator, KeyGetter >::GroupIterator::m_groupEnd
private

Definition at line 89 of file GroupBy.hpp.

View newest version in sPHENIX GitHub at line 89 of file GroupBy.hpp

Referenced by FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator*(), and FW::GroupBy< Iterator, KeyGetter >::GroupIterator::operator++().


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