![]() |
ATLAS Offline Software
|
Iterate over the legs of a chain. More...
#include <ChainNameParser.h>
Public Types | |
| using | iterator_category = std::input_iterator_tag |
| using | value_type = LegInfo |
| using | reference = const value_type & |
| using | pointer = const value_type * |
| using | difference_type = std::ptrdiff_t |
Public Member Functions | |
| LegInfoIterator ()=default | |
| Default constructor creates a past-the-end iterator. | |
| LegInfoIterator (const std::string &chain) | |
| Create an iterator from the beginning of a chain name. | |
| bool | operator== (const LegInfoIterator &other) const |
| Check (in)equality against another iterator. | |
| bool | operator!= (const LegInfoIterator &other) const |
| reference | operator* () const |
| Dereference the iterator. | |
| pointer | operator-> () const |
| LegInfoIterator & | operator++ () |
| pre-increment operator | |
| LegInfoIterator | operator++ (int) |
| post-increment operator | |
| bool | exhausted () const |
| Whether the iterator is exhausted. | |
Private Member Functions | |
| bool | advance () |
Private Attributes | |
| std::string::const_iterator | m_itr |
| std::string::const_iterator | m_end |
| LegInfo | m_current |
| std::size_t | m_peekMultiplicity {0} |
| std::string | m_peekSignature {""} |
| int | m_peekThreshold {-1} |
Iterate over the legs of a chain.
Definition at line 35 of file ChainNameParser.h.
| using ChainNameParser::LegInfoIterator::difference_type = std::ptrdiff_t |
Definition at line 42 of file ChainNameParser.h.
| using ChainNameParser::LegInfoIterator::iterator_category = std::input_iterator_tag |
Definition at line 38 of file ChainNameParser.h.
Definition at line 41 of file ChainNameParser.h.
Definition at line 40 of file ChainNameParser.h.
Definition at line 39 of file ChainNameParser.h.
|
default |
Default constructor creates a past-the-end iterator.
| ChainNameParser::LegInfoIterator::LegInfoIterator | ( | const std::string & | chain | ) |
Create an iterator from the beginning of a chain name.
| chain | The full chain name |
Definition at line 78 of file ChainNameParser.cxx.
|
private |
Definition at line 145 of file ChainNameParser.cxx.
| bool ChainNameParser::LegInfoIterator::exhausted | ( | ) | const |
Whether the iterator is exhausted.
Definition at line 140 of file ChainNameParser.cxx.
| bool ChainNameParser::LegInfoIterator::operator!= | ( | const LegInfoIterator & | other | ) | const |
Definition at line 93 of file ChainNameParser.cxx.
| LegInfoIterator::reference ChainNameParser::LegInfoIterator::operator* | ( | ) | const |
Dereference the iterator.
Dereferencing a past-the-end iterator returns an invalid LegInfo object
Definition at line 98 of file ChainNameParser.cxx.
| LegInfoIterator & ChainNameParser::LegInfoIterator::operator++ | ( | ) |
pre-increment operator
Definition at line 108 of file ChainNameParser.cxx.
| LegInfoIterator ChainNameParser::LegInfoIterator::operator++ | ( | int | ) |
post-increment operator
Definition at line 133 of file ChainNameParser.cxx.
| LegInfoIterator::pointer ChainNameParser::LegInfoIterator::operator-> | ( | ) | const |
Definition at line 103 of file ChainNameParser.cxx.
| bool ChainNameParser::LegInfoIterator::operator== | ( | const LegInfoIterator & | other | ) | const |
Check (in)equality against another iterator.
Definition at line 88 of file ChainNameParser.cxx.
|
private |
Definition at line 75 of file ChainNameParser.h.
|
private |
Definition at line 74 of file ChainNameParser.h.
|
private |
Definition at line 73 of file ChainNameParser.h.
|
private |
Definition at line 76 of file ChainNameParser.h.
|
private |
Definition at line 77 of file ChainNameParser.h.
|
private |
Definition at line 78 of file ChainNameParser.h.