21 #ifndef __SOLVER_VARIABLE_VARIABLE_H__
22 #define __SOLVER_VARIABLE_VARIABLE_H__
26 #pragma warning(disable : 4503)
29 #include <yuni/yuni.h>
30 #include <yuni/core/static/if.h>
32 #include "categories.h"
33 #include "container.h"
34 #include "endoflist.h"
36 #include "storage/intermediate.h"
37 #include "storage/results.h"
38 #include "surveyresults.h"
40 namespace Antares::Solver::Variable
45 template<
class ChildT,
class NextT,
class VCardT>
64 static constexpr uint8_t categoryDataLevel = VCardType::categoryDataLevel;
65 static constexpr uint8_t categoryFileLevel = VCardType::categoryFileLevel;
67 template<
int CDataLevel,
int CFile>
72 count = ((categoryDataLevel & CDataLevel && categoryFileLevel & CFile)
94 template<
class PredicateT>
120 size_t getMaxNumberColumns()
const;
150 void broadcastNonApplicability(
bool applyNonApplicable);
215 void yearEndSpatialAggregates(V& allVars, uint year,
unsigned int numSpace);
217 template<
class V,
class SetT>
218 void yearEndSpatialAggregates(V& allVars, uint year,
const SetT& set);
221 void simulationEndSpatialAggregates(V& allVars);
223 template<
class V,
class SetT>
224 void simulationEndSpatialAggregates(V& allVars,
const SetT& set);
245 void weekBegin(
State& state);
246 void weekForEachArea(
State& state, uint numSpace);
248 void weekEnd(
State& state);
256 int precision)
const;
262 uint numSpace)
const;
285 template<
class VCardSearchT,
class O>
295 template<
class VCardSearchT,
class O>
298 template<
class VCardToFindT>
299 const double* retrieveHourlyResultsForCurrentYear(uint numSpace)
const;
301 template<
class VCardToFindT>
305 template<
class VCardToFindT>
309 template<
class VCardToFindT>
313 Antares::Memory::Stored<double>::ConstReturnType retrieveRawHourlyValuesForCurrentYear(
328 bool* isNonApplicable;
339 #include "variable.hxx"
Definition of a link between two areas (Interconnection)
Definition: links.h:58
Definition for a single area.
Definition: area.h:51
A single thermal cluster.
Definition: cluster.h:76
Interface for any variable.
Definition: variable.h:47
Storage< VCardT >::ResultsType StoredResultType
Results.
Definition: variable.h:62
static void RetrieveVariableList(PredicateT &predicate)
Retrieve the list of all individual variables.
Definition: variable.hxx:630
const StoredResultType & results() const
The results.
Definition: variable.hxx:544
VCardT VCardType
VCard.
Definition: variable.h:56
void simulationEnd()
Notify to all variables that the simulation has finished.
Definition: variable.hxx:132
NextT NextType
Type of the next static variable.
Definition: variable.h:52
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:323
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
ChildT ChildType
Child.
Definition: variable.h:50
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
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
VCardType::ResultsType ResultsType
List of expected results.
Definition: variable.h:58
IVariable< ChildT, NextT, VCardT > VariableType
Variable.
Definition: variable.h:54
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
VariableAccessor< ResultsType, VCardType::columnCount > VariableAccessorType
Proxy for accessing to the intermediate results.
Definition: variable.h:60
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
Definition: variable.h:69
VariableAccessor< typename VCardT::ResultsType, VCardT::columnCount >::Type ResultsType
The true type used for the results.
Definition: info.h:760