|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef TRIGCOMPOSITEUTILS_COMBINATORS_H
7 #define TRIGCOMPOSITEUTILS_COMBINATORS_H
41 operator bool()
const;
60 operator bool()
const;
81 operator bool()
const;
108 template<
typename ... Iterators>
155 #endif // DECISIONHANDLING_COMBINATORS_H
std::vector< size_t > m_current
std::pair< long int, long int > indices
An ensemble of UniqueCombinationGenerator API description.
UniqueCombinationGenerator(size_t nelems, size_t comblen)
void findUniqueCombinations(const Index2DVec &indices, std::vector< std::vector< size_t > > &combinations, std::function< bool(const Index1DVec &)> &&filter)
Creates unique combinations of elements.
void operator++()
moves to the next combination
std::vector< size_t > Index1DVec
Unique combinations for case when one can not repeat the index (i.e.
const std::vector< size_t > & current() const
const std::vector< size_t > & operator()() const
CombinationGenerator(const std::initializer_list< size_t > &collectionSizes)
construct combnations maker with the sizes of collection to which it should be applied
std::vector< size_t > m_current
CombinationGenerator m_generator
const std::vector< size_t > & operator()() const
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
void add(const UniqueCombinationGenerator &gen)
const std::vector< size_t > & current() const
void add(size_t nextColl)
void elementsInUniqueCombinations(const Index2DVec &indices, std::set< size_t > &participants, std::function< bool(const Index1DVec &)> &&filter)
std::vector< size_t > m_current
std::vector< UniqueCombinationGenerator > m_generators
Generator of unique combinations (no indices are repeated) API description.
def combinations(items, n)
const std::vector< size_t > & operator()() const
returns current combination
const std::vector< size_t > & current() const
std::vector< size_t > m_maxes
void operator++()
moves to the next combination
void operator()(Iterators ... iter) const
std::vector< Index1DVec > Index2DVec
std::vector< bool > m_bitmask
CombinationIterator(Collections ... coll)
setBGCode setTAP setLVL2ErrorBits bool