#include </builds/gaudi/Gaudi/GaudiHive/src/PRGraph/Visitors/Validators.h>
Definition at line 131 of file Validators.h.
◆ visitor_book
◆ passed()
bool concurrency::ProductionAmbiguityFinder::passed |
( |
| ) |
const |
|
inline |
Definition at line 143 of file Validators.h.
143 {
145 []( const auto& pr ) { return pr.second.size() == 1; } );
146 }
visitor_book m_unconditionalProducers
◆ reply()
std::string concurrency::ProductionAmbiguityFinder::reply |
( |
| ) |
const |
Definition at line 192 of file Validators.cpp.
192 {
193
194 std::ostringstream status{ " No topology violations found in the DF realm" };
195
197 status << " Conditional (C) and/or unconditional (U) topology violations found in the DF realm:\n\n";
198
200
201
202 status << " (U): " << upr.first->name() << " <---- |";
203 for ( const auto& algo : upr.second )
204 status << " " << algo->name() << " (U)"
205 << " |";
206
207
210 for ( const auto& algo : result->second )
211 status << " " << algo->name() << " (C)"
212 << " |";
213 }
214
215 status << "\n";
216 }
217
218
220
222
223 status << " (C): " << cpr.first->name() << " <---- |";
224 for ( const auto& algo : cpr.second )
225 status << " " << algo->name() << " (C)"
226 << " |";
227 status << "\n";
228 }
229 }
230
231 return status.str();
232 }
visitor_book m_conditionalProducers
◆ reset()
void concurrency::ProductionAmbiguityFinder::reset |
( |
| ) |
|
|
inlineoverridevirtual |
◆ visit() [1/4]
virtual bool concurrency::IGraphVisitor::visit |
( |
AlgorithmNode & | | ) |
|
|
inlinevirtual |
◆ visit() [2/4]
bool concurrency::ProductionAmbiguityFinder::visit |
( |
ConditionNode & | node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 173 of file Validators.cpp.
173 {
174
175 if ( node.getProducers().size() > 1 ) {
176
178
179
180
181 for ( const auto& producer : node.getProducers() ) {
182
184 pr.first->second.insert( producer );
185 }
186 }
187
188 return true;
189 }
◆ visit() [3/4]
bool concurrency::ProductionAmbiguityFinder::visit |
( |
DataNode & | node | ) |
|
|
overridevirtual |
Reimplemented from concurrency::IGraphVisitor.
Definition at line 143 of file Validators.cpp.
143 {
144
145 if ( node.getProducers().size() > 1 ) {
146
148
149 auto scout = ConditionalLineageFinder();
150
151 for ( const auto& producer : node.getProducers() ) {
152
153 producer->accept( scout );
154
155 if ( scout.negative() ) {
156
158 pr.first->second.insert( producer );
159 } else {
160
162 pr.first->second.insert( producer );
163 }
164
165 scout.reset();
166 }
167 }
168
169 return true;
170 }
◆ visit() [4/4]
virtual bool concurrency::IGraphVisitor::visit |
( |
DecisionNode & | | ) |
|
|
inlinevirtual |
◆ visitEnter() [1/4]
bool concurrency::ProductionAmbiguityFinder::visitEnter |
( |
AlgorithmNode & | | ) |
const |
|
inlineoverridevirtual |
◆ visitEnter() [2/4]
virtual bool concurrency::IGraphVisitor::visitEnter |
( |
ConditionNode & | | ) |
const |
|
inlinevirtual |
◆ visitEnter() [3/4]
virtual bool concurrency::IGraphVisitor::visitEnter |
( |
DataNode & | | ) |
const |
|
inlinevirtual |
◆ visitEnter() [4/4]
bool concurrency::ProductionAmbiguityFinder::visitEnter |
( |
DecisionNode & | | ) |
const |
|
inlineoverridevirtual |
◆ m_conditionalProducers
visitor_book concurrency::ProductionAmbiguityFinder::m_conditionalProducers |
|
private |
◆ m_foundViolations
bool concurrency::ProductionAmbiguityFinder::m_foundViolations { false } |
|
private |
◆ m_unconditionalProducers
visitor_book concurrency::ProductionAmbiguityFinder::m_unconditionalProducers |
|
private |
The documentation for this class was generated from the following files: