21#ifndef __SOLVER_VARIABLE_VARIABLE_H__
22#define __SOLVER_VARIABLE_VARIABLE_H__
26#pragma warning(disable : 4503)
30#include <yuni/core/static/if.h>
32#include "categories.h"
36#include "storage/intermediate.h"
37#include "storage/results.h"
38#include "surveyresults.h"
49template<
class ChildT,
class NextT,
class VCardT>
68 static constexpr uint8_t categoryDataLevel = VCardType::categoryDataLevel;
69 static constexpr uint8_t categoryFileLevel = VCardType::categoryFileLevel;
71 template<
int CDataLevel,
int CFile>
76 count = ((categoryDataLevel & CDataLevel && categoryFileLevel & CFile)
98 template<
class PredicateT>
124 size_t getMaxNumberColumns()
const;
154 void broadcastNonApplicability(
bool applyNonApplicable);
219 void yearEndSpatialAggregates(V& allVars, uint year,
unsigned int numSpace);
221 template<
class V,
class SetT>
222 void yearEndSpatialAggregates(V& allVars, uint year,
const SetT& set);
225 void simulationEndSpatialAggregates(V& allVars);
227 template<
class V,
class SetT>
228 void simulationEndSpatialAggregates(V& allVars,
const SetT& set);
249 void weekBegin(
State& state);
250 void weekForEachArea(
State& state, uint numSpace);
252 void weekEnd(
State& state);
260 int precision)
const;
266 uint numSpace)
const;
289 template<
class VCardSearchT,
class O>
299 template<
class VCardSearchT,
class O>
302 template<
class VCardToFindT>
303 const double* retrieveHourlyResultsForCurrentYear(uint numSpace)
const;
305 template<
class VCardToFindT>
309 template<
class VCardToFindT>
313 template<
class VCardToFindT>
317 Antares::Memory::Stored<double>::ConstReturnType retrieveRawHourlyValuesForCurrentYear(
332 bool* isNonApplicable;
345#include "variable.hxx"
Definition of a link between two areas (Interconnection)
Definition links.h:50
Definition for a single area.
Definition area.h:52
A single thermal cluster.
Definition cluster.h:78
Interface for any variable.
Definition variable.h:51
static void RetrieveVariableList(PredicateT &predicate)
Retrieve the list of all individual variables.
Definition variable.hxx:630
VariableAccessor< ResultsType, VCardType::columnCount > VariableAccessorType
Proxy for accessing to the intermediate results.
Definition variable.h:64
const StoredResultType & results() const
The results.
Definition variable.hxx:544
Storage< VCardT >::ResultsType StoredResultType
Results.
Definition variable.h:66
VCardT VCardType
VCard.
Definition variable.h:60
void simulationEnd()
Notify to all variables that the simulation has finished.
Definition variable.hxx:132
void hourEnd(State &state, uint hourInTheYear)
Event: A new hour in the year has just ended.
Definition variable.hxx:257
void yearEnd(uint year)
Notify to all variables that the year is now over.
Definition variable.hxx:151
void yearEndBuildPrepareDataForEachThermalCluster(State &state, uint year, uint numSpace)
Notify to all variables to prepare data for the close to year end calculations for each thermal clust...
Definition variable.hxx:178
void hourForEachArea(State &state)
Event: For a given hour in the year, walking through all areas.
Definition variable.hxx:226
StoredResultType pResults
All the results about this variable.
Definition variable.h:327
NextT NextType
Type of the next static variable.
Definition variable.h:56
IVariable< ChildT, NextT, VCardT > VariableType
Variable.
Definition variable.h:58
static void provideInformations(I &infos)
"Print" informations about the variable tree
Definition variable.hxx:361
static void InitializeResultsFromStudy(R &results, Data::Study &study)
Initialize the results of the variable.
Definition variable.hxx:71
void simulationBegin()
Notify to all variables that the simulation is about to begin.
Definition variable.hxx:125
void yearEndBuild(State &state, uint year)
Notify to all variables that the year is close to end.
void yearEndBuildForEachThermalCluster(State &state, uint year, uint numSpace)
Notify to all variables that the year is close to end.
Definition variable.hxx:240
void initializeFromArea(Data::Study *study, Data::Area *area)
Initialize the variable with a specific area.
Definition variable.hxx:78
IVariable()
Default constructor.
Definition variable.hxx:32
void initializeFromStudy(Data::Study &study)
Initialize the variable.
Definition variable.hxx:63
ChildT ChildType
Child.
Definition variable.h:54
void beforeYearByYearExport(uint year, uint numSpace)
Event triggered before exporting a year-by-year survey report.
Definition variable.hxx:354
void hourBegin(uint hourInTheYear)
Event: A new hour in the year has just began.
Definition variable.hxx:219
void initializeFromLink(Data::Study *study, Data::AreaLink *link)
Initialize the variable with a specific link between two areas.
Definition variable.hxx:86
void hourForEachLink(State &state, uint numSpace)
Event: For a given hour in the year, walking through all links.
Definition variable.hxx:250
void computeSpatialAggregateWith(O &out, uint numSpace)
Compute the spatial cluster with the results of a single variable.
Definition variable.hxx:383
void initializeFromThermalCluster(Data::Study *study, Data::Area *area, Data::ThermalCluster *cluster)
Initialize the variable with a specific thermal cluster.
Definition variable.hxx:94
VCardType::ResultsType ResultsType
List of expected results.
Definition variable.h:62
void yearBegin(uint year)
Notify to all variables that a new year is about to start.
Definition variable.hxx:144
Class utility for building CSV results files.
Definition surveyresults.h:41
VariableAccessor< typenameVCardT::ResultsType, VCardT::columnCount >::Type ResultsType
The true type used for the results.
Definition info.h:764