|
ATLAS Offline Software
|
Go to the documentation of this file.
45 [[maybe_unused]]
auto erased = std::erase_if (
m_ranges,
46 [&
id] (
const Range&
r) {
return r.match(
id); });
64 static const Range null_range;
99 range_vector::size_type
i;
100 range_vector::size_type j;
103 for (j =
i + 1; j <
m_ranges.size (); ++j) {
105 if (
r.overlaps_with (
s))
return (
true);
138 m_range_it(multirange.m_ranges.
begin()),
139 m_range_end(multirange.m_ranges.
end()){
156 if (m_id.fields () == 0)
return;
158 if (m_range_it != m_range_end) {
159 if (m_id_fac_it != m_id_fac_end) {
162 if (m_id_fac_it == m_id_fac_end) {
164 if (m_range_it != m_range_end) {
169 if (m_id_fac_it != m_id_fac_end) {
182 return (m_id ==
other.m_id);
207 if (m_id.fields () == 0)
return;
209 if (m_range_it != m_range_end) {
210 if (m_id_fac_it != m_id_fac_end) {
213 if (m_id_fac_it == m_id_fac_end) {
215 if (m_range_it != m_range_end) {
220 if (m_id_fac_it != m_id_fac_end) {
233 return (m_id ==
other.m_id);
242 range_vector::size_type
i;
244 if (
i > 0)
s << std::endl;
251 MultiRange::operator std::string ()
const {
253 range_vector::size_type
i{};
bool operator==(const const_identifier_factory &other) const
ConstRangeIterator m_id_fac_it
const Range & operator[](size_type index) const
Accessors.
bool operator==(const identifier_factory &other) const
std::string find(const std::string &s)
return a remapped string
identifier_factory factory_begin()
identifier_factory factory_end()
void add(const Range &range)
ConstRangeIterator m_id_fac_end
size_type cardinalityUpTo(const ExpandedIdentifier &id) const
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
ExpandedIdentifier::size_type size_type
range_vector::const_iterator m_range_it
This factory is able to generate all possible identifiers, from a fully bounded Range.
range_vector::const_iterator m_range_it
range_vector::const_iterator m_range_end
ConstRangeIterator m_id_fac_end
void remove_range(const ExpandedIdentifier &id)
Remove a Range made from a single ExpandedIdentifier.
const_identifier_factory()=default
const_iterator begin() const
ConstRangeIterator begin() const
identifier_factory()=default
Range & back()
Get the last entered Range.
bool has_overlap() const
Check if there are overlaps between any couple of Ranges.
A MultiRange combines several Ranges.
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
ConstRangeIterator m_id_fac_it
range_vector::const_iterator const_iterator
def init(v_theApp, v_rootStream=None)
int match(const ExpandedIdentifier &id) const
Match an identifier.
const ExpandedIdentifier & operator*() const
const_iterator end() const
range_vector::const_iterator m_range_end
const ExpandedIdentifier & operator*() const
ConstRangeIterator end() const
size_type cardinality() const
Computes a possible cardinality from all ranges.