![]() |
ATLAS Offline Software
|
#include <IPartCombItr.h>
Public Types | |
| using | VecLInfo_t = std::vector<LinkInfo<xAOD::IParticleContainer>> |
| using | LInfoItr_t = VecLInfo_t::const_iterator |
| using | FilterFunc_t = std::function<bool(const IPartCombItr::VecLInfo_t &)> |
| using | iterator_category = std::input_iterator_tag |
| using | value_type = VecLInfo_t |
| using | reference = const value_type & |
| using | pointer = const value_type * |
| using | difference_type = std::ptrdiff_t |
Public Member Functions | |
| IPartCombItr () | |
| A default constructed iterator acts as a past-the-end iterator. | |
| IPartCombItr (const std::vector< std::tuple< std::size_t, LInfoItr_t, LInfoItr_t > > &pieces, FilterFunc_t filter) | |
| The direct constructor. | |
| IPartCombItr (const std::vector< std::tuple< std::size_t, LInfoItr_t, LInfoItr_t > > &pieces, FilterType filter=FilterType::UniqueObjects) | |
| The direct constructor. | |
| std::size_t | size () const |
| The size of each combination. | |
| std::size_t | nLegs () const |
| The number of legs. | |
| void | reset () |
| Reset the iterator to its starting point. | |
| bool | exhausted () const |
| True if this iterator is past the end. | |
| reference | operator* () const |
| Dereference. | |
| pointer | operator-> () const |
| IPartCombItr & | operator++ () |
| Pre-increment operator. | |
| IPartCombItr | operator++ (int) |
| Post-increment operator. | |
| bool | operator== (const IPartCombItr &other) const |
| Iterator comparison functions. | |
| bool | operator!= (const IPartCombItr &other) const |
Static Public Member Functions | |
| static FilterFunc_t | getFilter (FilterType filter) |
| Get a function corresponding to the specified FilterType enum. | |
Private Member Functions | |
| void | readCurrent () |
Private Attributes | |
| FilterFunc_t | m_filter |
| std::vector< LInfoItr_t > | m_linkInfoItrs |
| ProductItr< KFromNItr > | m_idxItr |
| VecLInfo_t | m_current |
Definition at line 40 of file IPartCombItr.h.
| using TrigCompositeUtils::IPartCombItr::difference_type = std::ptrdiff_t |
Definition at line 51 of file IPartCombItr.h.
| using TrigCompositeUtils::IPartCombItr::FilterFunc_t = std::function<bool(const IPartCombItr::VecLInfo_t &)> |
Definition at line 45 of file IPartCombItr.h.
| using TrigCompositeUtils::IPartCombItr::iterator_category = std::input_iterator_tag |
Definition at line 47 of file IPartCombItr.h.
| using TrigCompositeUtils::IPartCombItr::LInfoItr_t = VecLInfo_t::const_iterator |
Definition at line 44 of file IPartCombItr.h.
Definition at line 50 of file IPartCombItr.h.
Definition at line 49 of file IPartCombItr.h.
Definition at line 48 of file IPartCombItr.h.
| using TrigCompositeUtils::IPartCombItr::VecLInfo_t = std::vector<LinkInfo<xAOD::IParticleContainer>> |
Definition at line 43 of file IPartCombItr.h.
| TrigCompositeUtils::IPartCombItr::IPartCombItr | ( | ) |
A default constructed iterator acts as a past-the-end iterator.
Definition at line 89 of file IPartCombItr.cxx.
| TrigCompositeUtils::IPartCombItr::IPartCombItr | ( | const std::vector< std::tuple< std::size_t, LInfoItr_t, LInfoItr_t > > & | pieces, |
| FilterFunc_t | filter ) |
The direct constructor.
Takes a vector of tuples. The last two elements of each tuple are start and end iterators describing ranges of IParticleContainer LinkInfos. The first element describes how many particles from this range are used in the output combinations
Definition at line 91 of file IPartCombItr.cxx.
| TrigCompositeUtils::IPartCombItr::IPartCombItr | ( | const std::vector< std::tuple< std::size_t, LInfoItr_t, LInfoItr_t > > & | pieces, |
| FilterType | filter = FilterType::UniqueObjects ) |
The direct constructor.
Takes a vector of tuples. The last two elements of each tuple are start and end iterators describing ranges of IParticleContainer LinkInfos. The first element describes how many particles from this range are used in the output combinations
Definition at line 114 of file IPartCombItr.cxx.
| bool TrigCompositeUtils::IPartCombItr::exhausted | ( | ) | const |
True if this iterator is past the end.
Definition at line 128 of file IPartCombItr.cxx.
|
static |
Get a function corresponding to the specified FilterType enum.
Definition at line 75 of file IPartCombItr.cxx.
|
inline |
| bool TrigCompositeUtils::IPartCombItr::operator!= | ( | const IPartCombItr & | other | ) | const |
Definition at line 172 of file IPartCombItr.cxx.
| IPartCombItr::reference TrigCompositeUtils::IPartCombItr::operator* | ( | ) | const |
Dereference.
Definition at line 133 of file IPartCombItr.cxx.
| IPartCombItr & TrigCompositeUtils::IPartCombItr::operator++ | ( | ) |
Pre-increment operator.
Definition at line 147 of file IPartCombItr.cxx.
| IPartCombItr TrigCompositeUtils::IPartCombItr::operator++ | ( | int | ) |
Post-increment operator.
Definition at line 157 of file IPartCombItr.cxx.
| IPartCombItr::pointer TrigCompositeUtils::IPartCombItr::operator-> | ( | ) | const |
Definition at line 140 of file IPartCombItr.cxx.
| bool TrigCompositeUtils::IPartCombItr::operator== | ( | const IPartCombItr & | other | ) | const |
Iterator comparison functions.
Definition at line 164 of file IPartCombItr.cxx.
|
private |
Definition at line 177 of file IPartCombItr.cxx.
| void TrigCompositeUtils::IPartCombItr::reset | ( | ) |
Reset the iterator to its starting point.
Note that this resets all component iterators, so it will not reset this object to its starting point if any of the iterators passed to it were not initially in their starting positions
Definition at line 121 of file IPartCombItr.cxx.
|
inline |
|
private |
Definition at line 122 of file IPartCombItr.h.
|
private |
Definition at line 118 of file IPartCombItr.h.
|
private |
Definition at line 120 of file IPartCombItr.h.
|
private |
Definition at line 119 of file IPartCombItr.h.