18 #ifndef PRTX_REPORTSCOLLECTOR_H_ 19 #define PRTX_REPORTSCOLLECTOR_H_ 21 #include "prtx/prtx.h" 24 # pragma warning(push) 25 # pragma warning(disable : 4275) 34 class GenerateContext;
37 using ReportsPtr = std::shared_ptr<Reports>;
39 using ReportDomains = std::map<uint32_t, prtx::ReportsPtr>;
41 class ReportsAccumulator;
42 typedef std::shared_ptr<ReportsAccumulator> ReportsAccumulatorPtr;
59 ReportDomains& reportDomains,
61 const prtx::ReportsPtr& reports
68 virtual void finalize(ReportDomains& reportDomains)
const = 0;
77 static ReportsAccumulatorPtr create();
90 static ReportsAccumulatorPtr create();
107 static ReportsAccumulatorPtr create();
116 static ReportsAccumulatorPtr create();
121 typedef std::shared_ptr<ReportingStrategy> ReportingStrategyPtr;
141 virtual const prtx::ReportsPtr& getReports(uint32_t domain)
const = 0;
147 virtual const prtx::ReportsPtr& getReports()
const = 0;
157 static ReportingStrategyPtr create(
159 size_t initialShapeIndex,
160 ReportsAccumulatorPtr reportsAccumulator
171 static ReportingStrategyPtr create(
173 size_t initialShapeIndex,
174 ReportsAccumulatorPtr reportsAccumulator
184 static ReportingStrategyPtr create(
186 size_t initialShapeIndex,
187 ReportsAccumulatorPtr reportsAccumulator
196 # pragma warning(pop) Definition: ReportsCollector.h:105
Definition: GenerateContext.h:42
Definition: ReportsCollector.h:169
Definition: ReportsCollector.h:114
Definition: ReportsCollector.h:75
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
Definition: ReportsCollector.h:88
Definition: ReportsCollector.h:47
Definition: ReportsCollector.h:155
Definition: ReportsCollector.h:182
Definition: ReportsCollector.h:129