 |
ATLAS Offline Software
|
Go to the documentation of this file.
32 throw std::runtime_error(
"Dereferencing past-the-end iterator!");
39 throw std::runtime_error(
"Dereferencing past-the-end iterator!");
76 if (++(*backItr) <
end)
82 std::iota(backItr.base(),
m_current.end(), *backItr + 1);
111 return !(*
this ==
other);
KFromNItr & operator++()
Pre-increment operator.
pointer operator->() const
void reset()
Reset the iterator to its start position.
const value_type * pointer
std::size_t size() const
The size of each combination (k)
bool operator!=(const KFromNItr &other) const
bool operator==(const KFromNItr &other) const
Iterator comparison functions.
std::size_t m_N
The number of indices.
reference operator*() const
Dereference.
Iterates over all combinations of k values chosen from a range n.
bool exhausted() const
True if this iterator is past the end.
std::vector< std::size_t > m_current
The current combination.
KFromNItr()=default
Default constructor creates a generic past-the-end iterator.
const value_type & reference