92 typedef LeftT LeftType;
93 typedef RightT RightType;
111 template<
int CDataLevel,
int CFile>
116 count = (int)LeftType::template
Statistics < CDataLevel,
117 CFile > ::count + (
int)RightType::template
Statistics < CDataLevel,
128 template<
class PredicateT>
131 LeftType::RetrieveVariableList(predicate);
132 RightType::RetrieveVariableList(predicate);
138 LeftType::initializeFromStudy(study);
139 RightType::initializeFromStudy(study);
144 LeftType::initializeFromArea(study, area);
145 RightType::initializeFromArea(study, area);
150 LeftType::initializeFromAreaLink(study, link);
151 RightType::initializeFromAreaLink(study, link);
154 void initializeFromThermalCluster(
Data::Study* study,
158 LeftType::initializeFromThermalCluster(study, area, cluster);
159 RightType::initializeFromThermalCluster(study, area, cluster);
162 void simulationBegin()
164 LeftType::simulationBegin();
165 RightType::simulationBegin();
170 LeftType::simulationEnd();
171 RightType::simulationEnd();
174 void yearBegin(
unsigned int year,
unsigned int numSpace)
176 LeftType::yearBegin(year, numSpace);
177 RightType::yearBegin(year, numSpace);
180 void yearEndBuildPrepareDataForEachThermalCluster(
State& state, uint year)
183 LeftType::yearEndBuildPrepareDataForEachThermalCluster(state, year);
184 RightType::yearEndBuildPrepareDataForEachThermalCluster(state, year);
187 void yearEndBuildForEachThermalCluster(
State& state, uint year)
190 LeftType::yearEndBuildForEachThermalCluster(state, year);
191 RightType::yearEndBuildForEachThermalCluster(state, year);
194 void yearEndBuild(
State& state,
unsigned int year,
unsigned int numSpace)
196 LeftType::yearEndBuild(state, year, numSpace);
197 RightType::yearEndBuild(state, year, numSpace);
200 void yearEnd(
unsigned int year,
unsigned int numSpace)
202 LeftType::yearEnd(year, numSpace);
203 RightType::yearEnd(year, numSpace);
206 void computeSummary(std::map<unsigned int, unsigned int>& numSpaceToYear,
207 unsigned int nbYearsForCurrentSummary)
209 LeftType::computeSummary(numSpaceToYear, nbYearsForCurrentSummary);
210 RightType::computeSummary(numSpaceToYear, nbYearsForCurrentSummary);
213 void weekBegin(
State& state)
215 LeftType::weekBegin(state);
216 RightType::weekBegin(state);
219 void weekForEachArea(
State& state,
unsigned int numSpace)
221 LeftType::weekForEachArea(state, numSpace);
222 RightType::weekForEachArea(state, numSpace);
225 void weekEnd(
State& state)
227 LeftType::weekEnd(state);
228 RightType::weekEnd(state);
231 void hourBegin(
unsigned int hourInTheYear)
233 LeftType::hourBegin(hourInTheYear);
234 RightType::hourBegin(hourInTheYear);
237 void hourForEachArea(
State& state,
unsigned int numSpace)
239 LeftType::hourForEachArea(state, numSpace);
240 RightType::hourForEachArea(state, numSpace);
243 void hourForEachLink(
State& state)
245 LeftType::hourForEachLink(state);
246 RightType::hourForEachLink(state);
249 void hourEnd(
State& state,
unsigned int hourInTheYear)
251 LeftType::hourEnd(state, hourInTheYear);
252 RightType::hourEnd(state, hourInTheYear);
255 void buildSurveyReport(SurveyResults&
results,
260 LeftType::buildSurveyReport(
results, dataLevel, fileLevel, precision);
261 RightType::buildSurveyReport(
results, dataLevel, fileLevel, precision);
264 void buildAnnualSurveyReport(SurveyResults&
results,
270 LeftType::buildAnnualSurveyReport(
results, dataLevel, fileLevel, precision, numSpace);
271 RightType::buildAnnualSurveyReport(
results, dataLevel, fileLevel, precision, numSpace);
274 void buildDigest(SurveyResults&
results,
int digestLevel,
int dataLevel)
const
277 LeftType ::buildDigest(
results, digestLevel, dataLevel);
278 RightType::buildDigest(
results, digestLevel, dataLevel);
281 void beforeYearByYearExport(uint year, uint numSpace)
284 LeftType ::beforeYearByYearExport(year, numSpace);
285 RightType::beforeYearByYearExport(year, numSpace);
288 template<
class SearchVCardT,
class O>
289 void computeSpatialAggregateWith(O& out)
291 LeftType ::template computeSpatialAggregateWith<SearchVCardT, O>(out);
292 RightType::template computeSpatialAggregateWith<SearchVCardT, O>(out);
295 template<
class SearchVCardT,
class O>
296 void computeSpatialAggregateWith(O& out,
const Data::Area* area, uint numSpace)
298 LeftType ::template computeSpatialAggregateWith<SearchVCardT, O>(out, area, numSpace);
299 RightType::template computeSpatialAggregateWith<SearchVCardT, O>(out, area, numSpace);
303 void yearEndSpatialAggregates(V& allVars,
unsigned int year,
unsigned int numSpace)
305 LeftType::yearEndSpatialAggregates(allVars, year, numSpace);
306 RightType::yearEndSpatialAggregates(allVars, year, numSpace);
310 void computeSpatialAggregatesSummary(V& allVars,
311 std::map<unsigned int, unsigned int>& numSpaceToYear,
312 unsigned int nbYearsForCurrentSummary)
314 LeftType::computeSpatialAggregatesSummary(allVars,
316 nbYearsForCurrentSummary);
317 RightType::computeSpatialAggregatesSummary(allVars,
319 nbYearsForCurrentSummary);
323 void simulationEndSpatialAggregates(V& allVars)
325 LeftType::simulationEndSpatialAggregates(allVars);
326 RightType::simulationEndSpatialAggregates(allVars);
330 static void provideInformations(I& infos)
332 LeftType ::provideInformations(infos);
333 RightType::provideInformations(infos);
336 template<
class VCardToFindT>
337 const double* retrieveHourlyResultsForCurrentYear()
const
340 auto* result = LeftType::template retrieveHourlyResultsForCurrentYear<VCardToFindT>();
341 return (!result) ? RightType::template retrieveHourlyResultsForCurrentYear<VCardToFindT>()
345 template<
class VCardToFindT>
349 LeftType::template retrieveResultsForArea<VCardToFindT>(result, area);
350 RightType::template retrieveResultsForArea<VCardToFindT>(result, area);
353 template<
class VCardToFindT>
354 void retrieveResultsForThermalCluster(
358 LeftType::template retrieveResultsForThermalCluster<VCardToFindT>(result, cluster);
359 RightType::template retrieveResultsForThermalCluster<VCardToFindT>(result, cluster);
362 template<
class VCardToFindT>
366 LeftType::template retrieveResultsForLink<VCardToFindT>(result, link);
367 RightType::template retrieveResultsForLink<VCardToFindT>(result, link);
370 void localBuildAnnualSurveyReport(SurveyResults&
results,
int fileLevel,
int precision)
const
372 LeftType::localBuildAnnualSurveyReport(
results, fileLevel, precision);
373 RightType::localBuildAnnualSurveyReport(
results, fileLevel, precision);