diff --git a/src/solver/modelConverter/modelConverter.cpp b/src/solver/modelConverter/modelConverter.cpp index c946fc1095..d44201fcdc 100644 --- a/src/solver/modelConverter/modelConverter.cpp +++ b/src/solver/modelConverter/modelConverter.cpp @@ -50,6 +50,7 @@ std::vector<Antares::Study::SystemModel::PortType> convertTypes( { // Convert portTypes to Antares::Study::SystemModel::PortType std::vector<Antares::Study::SystemModel::PortType> out; + out.reserve(library.port_types.size()); for (const auto& portType: library.port_types) { std::vector<Antares::Study::SystemModel::PortField> fields; @@ -77,6 +78,7 @@ std::vector<Antares::Study::SystemModel::Parameter> convertParameters( { namespace SM = Antares::Study::SystemModel; std::vector<SM::Parameter> parameters; + parameters.reserve(model.parameters.size()); for (const auto& parameter: model.parameters) { parameters.emplace_back(parameter.id, @@ -119,7 +121,7 @@ std::vector<Antares::Study::SystemModel::Variable> convertVariables(const ModelP namespace SM = Antares::Study::SystemModel; std::vector<SM::Variable> variables; - + variables.reserve(model.variables.size()); for (const auto& variable: model.variables) { SM::Expression lb(variable.lower_bound, @@ -153,6 +155,7 @@ std::vector<Antares::Study::SystemModel::Constraint> convertConstraints( const Antares::Solver::ModelParser::Model& model) { std::vector<Antares::Study::SystemModel::Constraint> constraints; + constraints.reserve(model.constraints.size()); for (const auto& constraint: model.constraints) { auto nodeRegistry = convertExpressionToNode(constraint.expression, model); @@ -173,6 +176,7 @@ std::vector<Antares::Study::SystemModel::Model> convertModels( const Antares::Solver::ModelParser::Library& library) { std::vector<Antares::Study::SystemModel::Model> models; + models.reserve(library.models.size()); for (const auto& model: library.models) { Antares::Study::SystemModel::ModelBuilder modelBuilder; diff --git a/src/solver/variable/include/antares/solver/variable/adequacy/overallCost.h b/src/solver/variable/include/antares/solver/variable/adequacy/overallCost.h index 8d73a400c8..4985aaf6ea 100644 --- a/src/solver/variable/include/antares/solver/variable/adequacy/overallCost.h +++ b/src/solver/variable/include/antares/solver/variable/adequacy/overallCost.h @@ -85,7 +85,7 @@ struct VCardOverallCost static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,11 +131,6 @@ class OverallCost: public Variable::IVariable<OverallCost<NextT>, NextT, VCardOv }; public: - ~OverallCost() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -144,7 +139,7 @@ class OverallCost: public Variable::IVariable<OverallCost<NextT>, NextT, VCardOv InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/adequacy/spilledEnergy.h b/src/solver/variable/include/antares/solver/variable/adequacy/spilledEnergy.h index 7d447e1697..d984454678 100644 --- a/src/solver/variable/include/antares/solver/variable/adequacy/spilledEnergy.h +++ b/src/solver/variable/include/antares/solver/variable/adequacy/spilledEnergy.h @@ -86,7 +86,7 @@ struct VCardSpilledEnergy static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,11 +132,6 @@ class SpilledEnergy: public Variable::IVariable<SpilledEnergy<NextT>, NextT, VCa }; public: - ~SpilledEnergy() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -144,7 +139,7 @@ class SpilledEnergy: public Variable::IVariable<SpilledEnergy<NextT>, NextT, VCa // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/commons/hydro.h b/src/solver/variable/include/antares/solver/variable/commons/hydro.h index 46f45aebf3..eeae4fd017 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/hydro.h +++ b/src/solver/variable/include/antares/solver/variable/commons/hydro.h @@ -86,7 +86,7 @@ struct VCardTimeSeriesValuesHydro static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -134,7 +134,6 @@ class TimeSeriesValuesHydro public: ~TimeSeriesValuesHydro() { - delete[] pValuesForTheCurrentYear; delete[] pFatalValues; } @@ -150,7 +149,7 @@ class TimeSeriesValuesHydro InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/commons/load.h b/src/solver/variable/include/antares/solver/variable/commons/load.h index 46b7681e55..9bce01a29b 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/load.h +++ b/src/solver/variable/include/antares/solver/variable/commons/load.h @@ -86,7 +86,7 @@ struct VCardTimeSeriesValuesLoad static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,18 +132,13 @@ class TimeSeriesValuesLoad }; public: - ~TimeSeriesValuesLoad() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/commons/miscGenMinusRowPSP.h b/src/solver/variable/include/antares/solver/variable/commons/miscGenMinusRowPSP.h index cd7f7d6ba5..08f385011d 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/miscGenMinusRowPSP.h +++ b/src/solver/variable/include/antares/solver/variable/commons/miscGenMinusRowPSP.h @@ -84,7 +84,7 @@ struct VCardMiscGenMinusRowPSP static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; }; // class VCard @@ -129,11 +129,6 @@ class MiscGenMinusRowPSP }; public: - ~MiscGenMinusRowPSP() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -142,7 +137,7 @@ class MiscGenMinusRowPSP InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/commons/psp.h b/src/solver/variable/include/antares/solver/variable/commons/psp.h index 856a4ac529..da717ac6f1 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/psp.h +++ b/src/solver/variable/include/antares/solver/variable/commons/psp.h @@ -84,7 +84,7 @@ struct VCardPSP static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; }; // class VCard @@ -128,11 +128,6 @@ class PSP: public Variable::IVariable<PSP<NextT>, NextT, VCardPSP> }; public: - ~PSP() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -141,7 +136,7 @@ class PSP: public Variable::IVariable<PSP<NextT>, NextT, VCardPSP> InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/commons/solar.h b/src/solver/variable/include/antares/solver/variable/commons/solar.h index ad5f6ca679..deaf4acafa 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/solar.h +++ b/src/solver/variable/include/antares/solver/variable/commons/solar.h @@ -86,7 +86,7 @@ struct VCardTimeSeriesValuesSolar static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,18 +132,13 @@ class TimeSeriesValuesSolar }; public: - ~TimeSeriesValuesSolar() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/commons/spatial-aggregate.h b/src/solver/variable/include/antares/solver/variable/commons/spatial-aggregate.h index 851dbb9999..e065f1ba96 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/spatial-aggregate.h +++ b/src/solver/variable/include/antares/solver/variable/commons/spatial-aggregate.h @@ -198,15 +198,6 @@ class SpatialAggregate }; public: - SpatialAggregate() - { - } - - ~SpatialAggregate() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { typedef diff --git a/src/solver/variable/include/antares/solver/variable/commons/wind.h b/src/solver/variable/include/antares/solver/variable/commons/wind.h index d545311fef..61907fac23 100644 --- a/src/solver/variable/include/antares/solver/variable/commons/wind.h +++ b/src/solver/variable/include/antares/solver/variable/commons/wind.h @@ -86,7 +86,7 @@ struct VCardTimeSeriesValuesWind static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,18 +132,13 @@ class TimeSeriesValuesWind }; public: - ~TimeSeriesValuesWind() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/STSbyGroup.h b/src/solver/variable/include/antares/solver/variable/economy/STSbyGroup.h index 5ea9c01af4..dbfc8a16f9 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/STSbyGroup.h +++ b/src/solver/variable/include/antares/solver/variable/economy/STSbyGroup.h @@ -105,8 +105,8 @@ struct VCardSTSbyGroup static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -157,25 +157,11 @@ class STSbyGroup: public Variable::IVariable<STSbyGroup<NextT>, NextT, VCardSTSb }; public: - STSbyGroup(): - pValuesForTheCurrentYear(nullptr) - { - } - - ~STSbyGroup() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromArea(Data::Study* study, Data::Area* area) { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Building the vector of group names the clusters belong to. groupNames_ = sortedUniqueGroups(area->shortTermStorage.storagesByIndex); @@ -189,8 +175,7 @@ class STSbyGroup: public Variable::IVariable<STSbyGroup<NextT>, NextT, VCardSTSb for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [nbColumns_]; + pValuesForTheCurrentYear[numSpace].resize(nbColumns_); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -209,11 +194,6 @@ class STSbyGroup: public Variable::IVariable<STSbyGroup<NextT>, NextT, VCardSTSb } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } // Next diff --git a/src/solver/variable/include/antares/solver/variable/economy/STStorageCashFlowByCluster.h b/src/solver/variable/include/antares/solver/variable/economy/STStorageCashFlowByCluster.h index 9893049943..115f091169 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/STStorageCashFlowByCluster.h +++ b/src/solver/variable/include/antares/solver/variable/economy/STStorageCashFlowByCluster.h @@ -75,8 +75,8 @@ struct VCardSTstorageCashFlowByCluster static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -119,20 +119,11 @@ class STstorageCashFlowByCluster: public Variable::IVariable<STstorageCashFlowBy public: STstorageCashFlowByCluster() = default; - ~STstorageCashFlowByCluster() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromArea(Data::Study* study, Data::Area* area) { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area nbClusters_ = area->shortTermStorage.count(); @@ -142,8 +133,7 @@ class STstorageCashFlowByCluster: public Variable::IVariable<STstorageCashFlowBy for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [nbClusters_]; + pValuesForTheCurrentYear[numSpace].resize(nbClusters_); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -162,11 +152,6 @@ class STstorageCashFlowByCluster: public Variable::IVariable<STstorageCashFlowBy } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } // Next @@ -289,7 +274,7 @@ class STstorageCashFlowByCluster: public Variable::IVariable<STstorageCashFlowBy private: //! Intermediate values for each year - typename VCardType::IntermediateValuesType pValuesForTheCurrentYear = nullptr; + typename VCardType::IntermediateValuesType pValuesForTheCurrentYear; size_t nbClusters_ = 0; unsigned int pNbYearsParallel = 0; diff --git a/src/solver/variable/include/antares/solver/variable/economy/STStorageInjectionByCluster.h b/src/solver/variable/include/antares/solver/variable/economy/STStorageInjectionByCluster.h index 734d73eb6e..29dd88044e 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/STStorageInjectionByCluster.h +++ b/src/solver/variable/include/antares/solver/variable/economy/STStorageInjectionByCluster.h @@ -75,8 +75,8 @@ struct VCardSTstorageInjectionByCluster static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -121,25 +121,11 @@ class STstorageInjectionByCluster: public Variable::IVariable<STstorageInjection }; public: - STstorageInjectionByCluster(): - pValuesForTheCurrentYear(nullptr) - { - } - - ~STstorageInjectionByCluster() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromArea(Data::Study* study, Data::Area* area) { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area nbClusters_ = area->shortTermStorage.count(); @@ -149,8 +135,7 @@ class STstorageInjectionByCluster: public Variable::IVariable<STstorageInjection for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [nbClusters_]; + pValuesForTheCurrentYear[numSpace].resize(nbClusters_); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -169,11 +154,6 @@ class STstorageInjectionByCluster: public Variable::IVariable<STstorageInjection } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } // Next diff --git a/src/solver/variable/include/antares/solver/variable/economy/STStorageLevelsByCluster.h b/src/solver/variable/include/antares/solver/variable/economy/STStorageLevelsByCluster.h index 55398f2252..6c46127d7a 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/STStorageLevelsByCluster.h +++ b/src/solver/variable/include/antares/solver/variable/economy/STStorageLevelsByCluster.h @@ -75,8 +75,8 @@ struct VCardSTstorageLevelsByCluster static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -121,25 +121,11 @@ class STstorageLevelsByCluster: public Variable::IVariable<STstorageLevelsByClus }; public: - STstorageLevelsByCluster(): - pValuesForTheCurrentYear(nullptr) - { - } - - ~STstorageLevelsByCluster() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromArea(Data::Study* study, Data::Area* area) { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area nbClusters_ = area->shortTermStorage.count(); @@ -149,8 +135,7 @@ class STstorageLevelsByCluster: public Variable::IVariable<STstorageLevelsByClus for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [nbClusters_]; + pValuesForTheCurrentYear[numSpace].resize(nbClusters_); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -169,11 +154,6 @@ class STstorageLevelsByCluster: public Variable::IVariable<STstorageLevelsByClus } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } // Next diff --git a/src/solver/variable/include/antares/solver/variable/economy/STStorageWithdrawalByCluster.h b/src/solver/variable/include/antares/solver/variable/economy/STStorageWithdrawalByCluster.h index e9840207b6..0b0a7d0036 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/STStorageWithdrawalByCluster.h +++ b/src/solver/variable/include/antares/solver/variable/economy/STStorageWithdrawalByCluster.h @@ -75,8 +75,8 @@ struct VCardSTstorageWithdrawalByCluster static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -121,25 +121,11 @@ class STstorageWithdrawalByCluster: public Variable::IVariable<STstorageWithdraw }; public: - STstorageWithdrawalByCluster(): - pValuesForTheCurrentYear(nullptr) - { - } - - ~STstorageWithdrawalByCluster() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromArea(Data::Study* study, Data::Area* area) { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area nbClusters_ = area->shortTermStorage.count(); @@ -149,8 +135,7 @@ class STstorageWithdrawalByCluster: public Variable::IVariable<STstorageWithdraw for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [nbClusters_]; + pValuesForTheCurrentYear[numSpace].resize(nbClusters_); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -169,11 +154,6 @@ class STstorageWithdrawalByCluster: public Variable::IVariable<STstorageWithdraw } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } // Next diff --git a/src/solver/variable/include/antares/solver/variable/economy/avail-dispatchable-generation.h b/src/solver/variable/include/antares/solver/variable/economy/avail-dispatchable-generation.h index 86b0711d16..ca0c703abc 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/avail-dispatchable-generation.h +++ b/src/solver/variable/include/antares/solver/variable/economy/avail-dispatchable-generation.h @@ -86,7 +86,7 @@ struct VCardAvailableDispatchGen static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,11 +132,6 @@ class AvailableDispatchGen }; public: - ~AvailableDispatchGen() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -145,7 +140,7 @@ class AvailableDispatchGen InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/balance.h b/src/solver/variable/include/antares/solver/variable/economy/balance.h index 6dda7c7b5c..c903138971 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/balance.h +++ b/src/solver/variable/include/antares/solver/variable/economy/balance.h @@ -86,7 +86,7 @@ struct VCardBalance static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -133,7 +133,6 @@ class Balance: public Variable::IVariable<Balance<NextT>, NextT, VCardBalance> public: ~Balance() { - delete[] pValuesForTheCurrentYear; delete[] bilanPays; delete[] pInterco; } @@ -144,7 +143,7 @@ class Balance: public Variable::IVariable<Balance<NextT>, NextT, VCardBalance> InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/bindingConstraints/bindingConstraintsMarginalCost.h b/src/solver/variable/include/antares/solver/variable/economy/bindingConstraints/bindingConstraintsMarginalCost.h index 8a1f97676f..9c8f171cb8 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/bindingConstraints/bindingConstraintsMarginalCost.h +++ b/src/solver/variable/include/antares/solver/variable/economy/bindingConstraints/bindingConstraintsMarginalCost.h @@ -79,7 +79,7 @@ struct VCardBindingConstMarginCost static constexpr uint8_t isPossiblyNonApplicable = 1; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -129,14 +129,6 @@ class BindingConstMarginCost public: BindingConstMarginCost() = default; - ~BindingConstMarginCost() - { - if (pValuesForTheCurrentYear) - { - delete[] pValuesForTheCurrentYear; - } - } - void simulationBegin() { NextType::simulationBegin(); @@ -155,7 +147,7 @@ class BindingConstMarginCost InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); @@ -469,7 +461,7 @@ class BindingConstMarginCost // Private data mambers // ---------------------- //! Intermediate values for each year - typename VCardType::IntermediateValuesType pValuesForTheCurrentYear = nullptr; + typename VCardType::IntermediateValuesType pValuesForTheCurrentYear; unsigned int pNbYearsParallel = 0; std::shared_ptr<Data::BindingConstraint> associatedBC_ = nullptr; uint nbCount_ = 0; // Number of inequality BCs diff --git a/src/solver/variable/include/antares/solver/variable/economy/dispatchable-generation-margin.h b/src/solver/variable/include/antares/solver/variable/economy/dispatchable-generation-margin.h index 76b2b5418a..26ec57ebe0 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/dispatchable-generation-margin.h +++ b/src/solver/variable/include/antares/solver/variable/economy/dispatchable-generation-margin.h @@ -87,7 +87,7 @@ struct VCardDispatchableGenMargin static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -133,11 +133,6 @@ class DispatchableGenMargin }; public: - ~DispatchableGenMargin() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -146,7 +141,7 @@ class DispatchableGenMargin InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/domesticUnsuppliedEnergy.h b/src/solver/variable/include/antares/solver/variable/economy/domesticUnsuppliedEnergy.h index ab73f1a2b2..b27495ac65 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/domesticUnsuppliedEnergy.h +++ b/src/solver/variable/include/antares/solver/variable/economy/domesticUnsuppliedEnergy.h @@ -87,7 +87,7 @@ struct VCardDomesticUnsuppliedEnergy static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -135,11 +135,6 @@ class DomesticUnsuppliedEnergy: public Variable::IVariable<DomesticUnsuppliedEne }; public: - ~DomesticUnsuppliedEnergy() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -147,7 +142,7 @@ class DomesticUnsuppliedEnergy: public Variable::IVariable<DomesticUnsuppliedEne // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/dtgMarginAfterCsr.h b/src/solver/variable/include/antares/solver/variable/economy/dtgMarginAfterCsr.h index d748b9ac4c..dbd81a044c 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/dtgMarginAfterCsr.h +++ b/src/solver/variable/include/antares/solver/variable/economy/dtgMarginAfterCsr.h @@ -80,7 +80,7 @@ struct VCardDtgMarginCsr static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -125,11 +125,6 @@ class DtgMarginCsr: public Variable::IVariable<DtgMarginCsr<NextT>, NextT, VCard }; }; - ~DtgMarginCsr() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -137,7 +132,7 @@ class DtgMarginCsr: public Variable::IVariable<DtgMarginCsr<NextT>, NextT, VCard // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/hydroCost.h b/src/solver/variable/include/antares/solver/variable/economy/hydroCost.h index 1edf42e14f..66b313600b 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/hydroCost.h +++ b/src/solver/variable/include/antares/solver/variable/economy/hydroCost.h @@ -88,7 +88,7 @@ struct VCardHydroCost static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -133,18 +133,13 @@ class HydroCost: public Variable::IVariable<HydroCost<NextT>, NextT, VCardHydroC }; public: - ~HydroCost() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/hydrostorage.h b/src/solver/variable/include/antares/solver/variable/economy/hydrostorage.h index be56b970b6..aa92462fa8 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/hydrostorage.h +++ b/src/solver/variable/include/antares/solver/variable/economy/hydrostorage.h @@ -86,7 +86,7 @@ struct VCardHydroStorage static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,18 +132,13 @@ class HydroStorage: public Variable::IVariable<HydroStorage<NextT>, NextT, VCard }; public: - ~HydroStorage() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/inflow.h b/src/solver/variable/include/antares/solver/variable/economy/inflow.h index 136bd8410e..cb843c0fe9 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/inflow.h +++ b/src/solver/variable/include/antares/solver/variable/economy/inflow.h @@ -86,7 +86,7 @@ struct VCardInflows static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,18 +131,13 @@ class Inflows: public Variable::IVariable<Inflows<NextT>, NextT, VCardInflows> }; public: - ~Inflows() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/links/congestionFee.h b/src/solver/variable/include/antares/solver/variable/economy/links/congestionFee.h index 6e2c2200d0..81a0c960d0 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/links/congestionFee.h +++ b/src/solver/variable/include/antares/solver/variable/economy/links/congestionFee.h @@ -83,7 +83,7 @@ struct VCardCongestionFee static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -126,11 +126,6 @@ class CongestionFee: public Variable::IVariable<CongestionFee<NextT>, NextT, VCa }; public: - ~CongestionFee() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -140,7 +135,7 @@ class CongestionFee: public Variable::IVariable<CongestionFee<NextT>, NextT, VCa AncestorType::pResults.reset(); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/links/congestionFeeAbs.h b/src/solver/variable/include/antares/solver/variable/economy/links/congestionFeeAbs.h index d6468f5e88..91312298e1 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/links/congestionFeeAbs.h +++ b/src/solver/variable/include/antares/solver/variable/economy/links/congestionFeeAbs.h @@ -85,7 +85,7 @@ struct VCardCongestionFeeAbs static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -129,11 +129,6 @@ class CongestionFeeAbs }; public: - ~CongestionFeeAbs() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -143,7 +138,7 @@ class CongestionFeeAbs AncestorType::pResults.reset(); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/links/flowLinear.h b/src/solver/variable/include/antares/solver/variable/economy/links/flowLinear.h index 5d89ae75cd..47269cf3c0 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/links/flowLinear.h +++ b/src/solver/variable/include/antares/solver/variable/economy/links/flowLinear.h @@ -83,7 +83,7 @@ struct VCardFlowLinear static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -126,11 +126,6 @@ class FlowLinear: public Variable::IVariable<FlowLinear<NextT>, NextT, VCardFlow }; public: - ~FlowLinear() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -140,7 +135,7 @@ class FlowLinear: public Variable::IVariable<FlowLinear<NextT>, NextT, VCardFlow AncestorType::pResults.reset(); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/links/flowLinearAbs.h b/src/solver/variable/include/antares/solver/variable/economy/links/flowLinearAbs.h index c7ca4ba60e..664b51b459 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/links/flowLinearAbs.h +++ b/src/solver/variable/include/antares/solver/variable/economy/links/flowLinearAbs.h @@ -85,7 +85,7 @@ struct VCardFlowLinearAbs static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -128,11 +128,6 @@ class FlowLinearAbs: public Variable::IVariable<FlowLinearAbs<NextT>, NextT, VCa }; public: - ~FlowLinearAbs() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -142,7 +137,7 @@ class FlowLinearAbs: public Variable::IVariable<FlowLinearAbs<NextT>, NextT, VCa AncestorType::pResults.reset(); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/links/hurdleCosts.h b/src/solver/variable/include/antares/solver/variable/economy/links/hurdleCosts.h index a4b1c0c4de..c70791c1b9 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/links/hurdleCosts.h +++ b/src/solver/variable/include/antares/solver/variable/economy/links/hurdleCosts.h @@ -83,7 +83,7 @@ struct VCardHurdleCosts static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -126,11 +126,6 @@ class HurdleCosts: public Variable::IVariable<HurdleCosts<NextT>, NextT, VCardHu }; public: - ~HurdleCosts() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -140,7 +135,7 @@ class HurdleCosts: public Variable::IVariable<HurdleCosts<NextT>, NextT, VCardHu AncestorType::pResults.reset(); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/links/marginalCost.h b/src/solver/variable/include/antares/solver/variable/economy/links/marginalCost.h index 0b267870a3..6e4192e73d 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/links/marginalCost.h +++ b/src/solver/variable/include/antares/solver/variable/economy/links/marginalCost.h @@ -85,7 +85,7 @@ struct VCardMarginalCost static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -128,11 +128,6 @@ class MarginalCost: public Variable::IVariable<MarginalCost<NextT>, NextT, VCard }; public: - ~MarginalCost() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -142,7 +137,7 @@ class MarginalCost: public Variable::IVariable<MarginalCost<NextT>, NextT, VCard AncestorType::pResults.reset(); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/localMatchingRuleViolations.h b/src/solver/variable/include/antares/solver/variable/economy/localMatchingRuleViolations.h index 868588f271..896a97dc26 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/localMatchingRuleViolations.h +++ b/src/solver/variable/include/antares/solver/variable/economy/localMatchingRuleViolations.h @@ -77,7 +77,7 @@ struct VCardLMRViolations static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -122,11 +122,6 @@ class LMRViolations: public Variable::IVariable<LMRViolations<NextT>, NextT, VCa }; }; - ~LMRViolations() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -134,7 +129,7 @@ class LMRViolations: public Variable::IVariable<LMRViolations<NextT>, NextT, VCa // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/lold.h b/src/solver/variable/include/antares/solver/variable/economy/lold.h index 875408a060..394cf0adab 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/lold.h +++ b/src/solver/variable/include/antares/solver/variable/economy/lold.h @@ -87,7 +87,7 @@ struct VCardLOLD static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,11 +132,6 @@ class LOLD: public Variable::IVariable<LOLD<NextT>, NextT, VCardLOLD> }; public: - ~LOLD() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -144,7 +139,7 @@ class LOLD: public Variable::IVariable<LOLD<NextT>, NextT, VCardLOLD> // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/loldCsr.h b/src/solver/variable/include/antares/solver/variable/economy/loldCsr.h index 299e83b94f..c752a90a21 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/loldCsr.h +++ b/src/solver/variable/include/antares/solver/variable/economy/loldCsr.h @@ -82,7 +82,7 @@ struct VCardLOLD_CSR static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -127,11 +127,6 @@ class LOLD_CSR: public Variable::IVariable<LOLD_CSR<NextT>, NextT, VCardLOLD_CSR }; public: - ~LOLD_CSR() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -139,7 +134,7 @@ class LOLD_CSR: public Variable::IVariable<LOLD_CSR<NextT>, NextT, VCardLOLD_CSR // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/lolp.h b/src/solver/variable/include/antares/solver/variable/economy/lolp.h index 95602b0030..9a2c80c352 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/lolp.h +++ b/src/solver/variable/include/antares/solver/variable/economy/lolp.h @@ -83,7 +83,7 @@ struct VCardLOLP static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -128,11 +128,6 @@ class LOLP: public Variable::IVariable<LOLP<NextT>, NextT, VCardLOLP> }; public: - ~LOLP() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -140,7 +135,7 @@ class LOLP: public Variable::IVariable<LOLP<NextT>, NextT, VCardLOLP> // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/lolpCsr.h b/src/solver/variable/include/antares/solver/variable/economy/lolpCsr.h index 45d9ed61ac..cabf88b6ad 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/lolpCsr.h +++ b/src/solver/variable/include/antares/solver/variable/economy/lolpCsr.h @@ -81,7 +81,7 @@ struct VCardLOLP_CSR static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -126,11 +126,6 @@ class LOLP_CSR: public Variable::IVariable<LOLP_CSR<NextT>, NextT, VCardLOLP_CSR }; public: - ~LOLP_CSR() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -138,7 +133,7 @@ class LOLP_CSR: public Variable::IVariable<LOLP_CSR<NextT>, NextT, VCardLOLP_CSR // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/max-mrg-csr.h b/src/solver/variable/include/antares/solver/variable/economy/max-mrg-csr.h index 2ff8edc89d..fe2d001c87 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/max-mrg-csr.h +++ b/src/solver/variable/include/antares/solver/variable/economy/max-mrg-csr.h @@ -85,7 +85,7 @@ struct VCardMAX_MRG_CSR static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -136,11 +136,6 @@ class MaxMrgCsr: public Variable::IVariable<MaxMrgCsr<NextT>, NextT, VCardMAX_MR }; public: - ~MaxMrgCsr() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -148,7 +143,7 @@ class MaxMrgCsr: public Variable::IVariable<MaxMrgCsr<NextT>, NextT, VCardMAX_MR // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/max-mrg.h b/src/solver/variable/include/antares/solver/variable/economy/max-mrg.h index a53b893947..8cf83bc740 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/max-mrg.h +++ b/src/solver/variable/include/antares/solver/variable/economy/max-mrg.h @@ -88,7 +88,7 @@ struct VCardMARGE static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -133,11 +133,6 @@ class Marge: public Variable::IVariable<Marge<NextT>, NextT, VCardMARGE> }; public: - ~Marge() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -145,7 +140,7 @@ class Marge: public Variable::IVariable<Marge<NextT>, NextT, VCardMARGE> // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnits.h b/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnits.h index 173343f61f..01904bf7e8 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnits.h +++ b/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnits.h @@ -90,7 +90,7 @@ struct VCardNbOfDispatchedUnits static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -137,18 +137,13 @@ class NbOfDispatchedUnits }; public: - ~NbOfDispatchedUnits() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnitsByPlant.h b/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnitsByPlant.h index ed570bca43..6a54c40945 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnitsByPlant.h +++ b/src/solver/variable/include/antares/solver/variable/economy/nbOfDispatchedUnitsByPlant.h @@ -82,10 +82,8 @@ struct VCardNbOfDispatchedUnitsByPlant static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; - - // typedef IntermediateValues IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -132,20 +130,10 @@ class NbOfDispatchedUnitsByPlant: public Variable::IVariable<NbOfDispatchedUnits public: NbOfDispatchedUnitsByPlant(): - pValuesForTheCurrentYear(NULL), pSize(0) { } - ~NbOfDispatchedUnitsByPlant() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { // Next @@ -155,7 +143,7 @@ class NbOfDispatchedUnitsByPlant: public Variable::IVariable<NbOfDispatchedUnits void initializeFromArea(Data::Study* study, Data::Area* area) { pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area pSize = area->thermal.list.enabledCount(); @@ -164,8 +152,7 @@ class NbOfDispatchedUnitsByPlant: public Variable::IVariable<NbOfDispatchedUnits AncestorType::pResults.resize(pSize); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [pSize]; + pValuesForTheCurrentYear[numSpace].resize(pSize); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -184,11 +171,6 @@ class NbOfDispatchedUnitsByPlant: public Variable::IVariable<NbOfDispatchedUnits } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } @@ -320,7 +302,7 @@ class NbOfDispatchedUnitsByPlant: public Variable::IVariable<NbOfDispatchedUnits unsigned int, unsigned int numSpace) const { - return pValuesForTheCurrentYear[numSpace]->hour; + return pValuesForTheCurrentYear[numSpace][0].hour; } void localBuildAnnualSurveyReport(SurveyResults& results, diff --git a/src/solver/variable/include/antares/solver/variable/economy/nonProportionalCost.h b/src/solver/variable/include/antares/solver/variable/economy/nonProportionalCost.h index 8d26594739..e308ce15b8 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/nonProportionalCost.h +++ b/src/solver/variable/include/antares/solver/variable/economy/nonProportionalCost.h @@ -90,7 +90,7 @@ struct VCardNonProportionalCost static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -137,18 +137,13 @@ class NonProportionalCost }; public: - ~NonProportionalCost() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/npCostByDispatchablePlant.h b/src/solver/variable/include/antares/solver/variable/economy/npCostByDispatchablePlant.h index 2a9b806664..128f7b9a55 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/npCostByDispatchablePlant.h +++ b/src/solver/variable/include/antares/solver/variable/economy/npCostByDispatchablePlant.h @@ -82,10 +82,10 @@ struct VCardNonProportionalCostByDispatchablePlant static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; - // typedef IntermediateValues IntermediateValuesType; + // typedef std::vector<IntermediateValues> IntermediateValuesType; }; // class VCard @@ -134,20 +134,10 @@ class NonProportionalCostByDispatchablePlant public: NonProportionalCostByDispatchablePlant(): - pValuesForTheCurrentYear(NULL), pSize(0) { } - ~NonProportionalCostByDispatchablePlant() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { // Next @@ -158,7 +148,7 @@ class NonProportionalCostByDispatchablePlant { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area pSize = area->thermal.list.enabledCount(); @@ -167,8 +157,7 @@ class NonProportionalCostByDispatchablePlant AncestorType::pResults.resize(pSize); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [pSize]; + pValuesForTheCurrentYear[numSpace].resize(pSize); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -187,11 +176,6 @@ class NonProportionalCostByDispatchablePlant } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } @@ -301,7 +285,7 @@ class NonProportionalCostByDispatchablePlant unsigned int, unsigned int numSpace) const { - return pValuesForTheCurrentYear[numSpace]->hour; + return pValuesForTheCurrentYear[numSpace][0].hour; } void localBuildAnnualSurveyReport(SurveyResults& results, diff --git a/src/solver/variable/include/antares/solver/variable/economy/operatingCost.h b/src/solver/variable/include/antares/solver/variable/economy/operatingCost.h index df95f6d65c..a39e506345 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/operatingCost.h +++ b/src/solver/variable/include/antares/solver/variable/economy/operatingCost.h @@ -89,7 +89,7 @@ struct VCardOperatingCost static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -135,18 +135,13 @@ class OperatingCost: public Variable::IVariable<OperatingCost<NextT>, NextT, VCa }; public: - ~OperatingCost() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/overallCost.h b/src/solver/variable/include/antares/solver/variable/economy/overallCost.h index ccb6632e9e..bbc10986ee 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/overallCost.h +++ b/src/solver/variable/include/antares/solver/variable/economy/overallCost.h @@ -85,7 +85,7 @@ struct VCardOverallCost static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,11 +131,6 @@ class OverallCost: public Variable::IVariable<OverallCost<NextT>, NextT, VCardOv }; public: - ~OverallCost() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -144,7 +139,7 @@ class OverallCost: public Variable::IVariable<OverallCost<NextT>, NextT, VCardOv InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/overallCostCsr.h b/src/solver/variable/include/antares/solver/variable/economy/overallCostCsr.h index 63739b686b..1735f81ba7 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/overallCostCsr.h +++ b/src/solver/variable/include/antares/solver/variable/economy/overallCostCsr.h @@ -83,7 +83,7 @@ struct VCardOverallCostCsr static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -129,11 +129,6 @@ class OverallCostCsr: public Variable::IVariable<OverallCostCsr<NextT>, NextT, V }; public: - ~OverallCostCsr() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -142,7 +137,7 @@ class OverallCostCsr: public Variable::IVariable<OverallCostCsr<NextT>, NextT, V InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/overflow.h b/src/solver/variable/include/antares/solver/variable/economy/overflow.h index 05a7cb5fbe..079c17a1f0 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/overflow.h +++ b/src/solver/variable/include/antares/solver/variable/economy/overflow.h @@ -86,7 +86,7 @@ struct VCardOverflow static constexpr uint8_t isPossiblyNonApplicable = 1; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,18 +131,13 @@ class Overflows: public Variable::IVariable<Overflows<NextT>, NextT, VCardOverfl }; public: - ~Overflows() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/price.h b/src/solver/variable/include/antares/solver/variable/economy/price.h index f74567c938..7ac93069bf 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/price.h +++ b/src/solver/variable/include/antares/solver/variable/economy/price.h @@ -87,7 +87,7 @@ struct VCardPrice static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,11 +132,6 @@ class Price: public Variable::IVariable<Price<NextT>, NextT, VCardPrice> }; public: - ~Price() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -145,7 +140,7 @@ class Price: public Variable::IVariable<Price<NextT>, NextT, VCardPrice> InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/priceCSR.h b/src/solver/variable/include/antares/solver/variable/economy/priceCSR.h index 617d3ed772..d5209b6171 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/priceCSR.h +++ b/src/solver/variable/include/antares/solver/variable/economy/priceCSR.h @@ -88,7 +88,7 @@ struct VCardPriceCSR static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -133,11 +133,6 @@ class PriceCSR: public Variable::IVariable<PriceCSR<NextT>, NextT, VCardPriceCSR }; public: - ~PriceCSR() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -146,7 +141,7 @@ class PriceCSR: public Variable::IVariable<PriceCSR<NextT>, NextT, VCardPriceCSR InitializeResultsFromStudy(AncestorType::pResults, study); // Intermediate values - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/productionByDispatchablePlant.h b/src/solver/variable/include/antares/solver/variable/economy/productionByDispatchablePlant.h index b2b604a6fc..df35b21957 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/productionByDispatchablePlant.h +++ b/src/solver/variable/include/antares/solver/variable/economy/productionByDispatchablePlant.h @@ -82,8 +82,8 @@ struct VCardProductionByDispatchablePlant static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -130,7 +130,6 @@ class ProductionByDispatchablePlant public: ProductionByDispatchablePlant(): - pValuesForTheCurrentYear(nullptr), pminOfTheClusterForYear(nullptr), pSize(0) { @@ -138,12 +137,6 @@ class ProductionByDispatchablePlant ~ProductionByDispatchablePlant() { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { delete[] pminOfTheClusterForYear[numSpace]; @@ -161,7 +154,7 @@ class ProductionByDispatchablePlant { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); pminOfTheClusterForYear = new double*[pNbYearsParallel]; // Get the area @@ -172,8 +165,7 @@ class ProductionByDispatchablePlant for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [pSize]; + pValuesForTheCurrentYear[numSpace].resize(pSize); } // Minimum power values of the cluster for the whole year - from the solver in the @@ -203,7 +195,6 @@ class ProductionByDispatchablePlant { for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = nullptr; pminOfTheClusterForYear[numSpace] = nullptr; } diff --git a/src/solver/variable/include/antares/solver/variable/economy/productionByRenewablePlant.h b/src/solver/variable/include/antares/solver/variable/economy/productionByRenewablePlant.h index 1267c51b67..405f30b8a3 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/productionByRenewablePlant.h +++ b/src/solver/variable/include/antares/solver/variable/economy/productionByRenewablePlant.h @@ -82,8 +82,8 @@ struct VCardProductionByRenewablePlant static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard @@ -129,20 +129,10 @@ class ProductionByRenewablePlant: public Variable::IVariable<ProductionByRenewab public: ProductionByRenewablePlant(): - pValuesForTheCurrentYear(nullptr), pSize(0) { } - ~ProductionByRenewablePlant() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { // Next @@ -153,7 +143,7 @@ class ProductionByRenewablePlant: public Variable::IVariable<ProductionByRenewab { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area pSize = area->renewable.list.enabledCount(); @@ -163,8 +153,7 @@ class ProductionByRenewablePlant: public Variable::IVariable<ProductionByRenewab for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [pSize]; + pValuesForTheCurrentYear[numSpace].resize(pSize); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -183,11 +172,6 @@ class ProductionByRenewablePlant: public Variable::IVariable<ProductionByRenewab } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } // Next diff --git a/src/solver/variable/include/antares/solver/variable/economy/profitByPlant.h b/src/solver/variable/include/antares/solver/variable/economy/profitByPlant.h index 22b8f2d527..c504ad3e36 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/profitByPlant.h +++ b/src/solver/variable/include/antares/solver/variable/economy/profitByPlant.h @@ -82,8 +82,8 @@ struct VCardProfitByPlant static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesDeepType; - typedef IntermediateValues* IntermediateValuesBaseType; - typedef IntermediateValuesBaseType* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesBaseType; + typedef std::vector<IntermediateValuesBaseType> IntermediateValuesType; }; // class VCard /*! @@ -127,20 +127,10 @@ class ProfitByPlant: public Variable::IVariable<ProfitByPlant<NextT>, NextT, VCa public: ProfitByPlant(): - pValuesForTheCurrentYear(nullptr), pNbClustersOfArea(0) { } - ~ProfitByPlant() - { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - delete[] pValuesForTheCurrentYear[numSpace]; - } - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { // Next @@ -151,7 +141,7 @@ class ProfitByPlant: public Variable::IVariable<ProfitByPlant<NextT>, NextT, VCa { // Get the number of years in parallel pNbYearsParallel = study->maxNbYearsInParallel; - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); // Get the area pNbClustersOfArea = area->thermal.list.enabledCount(); @@ -160,8 +150,7 @@ class ProfitByPlant: public Variable::IVariable<ProfitByPlant<NextT>, NextT, VCa AncestorType::pResults.resize(pNbClustersOfArea); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { - pValuesForTheCurrentYear[numSpace] = new VCardType::IntermediateValuesDeepType - [pNbClustersOfArea]; + pValuesForTheCurrentYear[numSpace].resize(pNbClustersOfArea); } for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) @@ -180,11 +169,6 @@ class ProfitByPlant: public Variable::IVariable<ProfitByPlant<NextT>, NextT, VCa } else { - for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) - { - pValuesForTheCurrentYear[numSpace] = nullptr; - } - AncestorType::pResults.clear(); } @@ -299,7 +283,7 @@ class ProfitByPlant: public Variable::IVariable<ProfitByPlant<NextT>, NextT, VCa unsigned int, unsigned int numSpace) const { - return pValuesForTheCurrentYear[numSpace]->hour; + return pValuesForTheCurrentYear[numSpace][0].hour; } void localBuildAnnualSurveyReport(SurveyResults& results, diff --git a/src/solver/variable/include/antares/solver/variable/economy/pumping.h b/src/solver/variable/include/antares/solver/variable/economy/pumping.h index db8d59289f..56ddcb6212 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/pumping.h +++ b/src/solver/variable/include/antares/solver/variable/economy/pumping.h @@ -86,7 +86,7 @@ struct VCardPumping static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,18 +131,13 @@ class Pumping: public Variable::IVariable<Pumping<NextT>, NextT, VCardPumping> }; public: - ~Pumping() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/reservoirlevel.h b/src/solver/variable/include/antares/solver/variable/economy/reservoirlevel.h index 9dad55e963..69befe1cc2 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/reservoirlevel.h +++ b/src/solver/variable/include/antares/solver/variable/economy/reservoirlevel.h @@ -86,7 +86,7 @@ struct VCardReservoirLevel static constexpr uint8_t isPossiblyNonApplicable = 1; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,18 +131,13 @@ class ReservoirLevel: public Variable::IVariable<ReservoirLevel<NextT>, NextT, V }; public: - ~ReservoirLevel() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/spilledEnergy.h b/src/solver/variable/include/antares/solver/variable/economy/spilledEnergy.h index ad6c895d3f..707f8eeb18 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/spilledEnergy.h +++ b/src/solver/variable/include/antares/solver/variable/economy/spilledEnergy.h @@ -86,7 +86,7 @@ struct VCardSpilledEnergy static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -132,11 +132,6 @@ class SpilledEnergy: public Variable::IVariable<SpilledEnergy<NextT>, NextT, VCa }; public: - ~SpilledEnergy() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -144,7 +139,7 @@ class SpilledEnergy: public Variable::IVariable<SpilledEnergy<NextT>, NextT, VCa // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergy.h b/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergy.h index b3f15946ae..cb2eef6ad1 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergy.h +++ b/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergy.h @@ -86,7 +86,7 @@ struct VCardUnsupliedEnergy static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -133,11 +133,6 @@ class UnsupliedEnergy }; public: - ~UnsupliedEnergy() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -145,7 +140,7 @@ class UnsupliedEnergy // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergyCsr.h b/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergyCsr.h index a83ccb2e03..94e65e3820 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergyCsr.h +++ b/src/solver/variable/include/antares/solver/variable/economy/unsupliedEnergyCsr.h @@ -83,7 +83,7 @@ struct VCardUnsupliedEnergyCSR static constexpr uint8_t isPossiblyNonApplicable = 0; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -126,11 +126,6 @@ class UnsupliedEnergyCSR }; public: - ~UnsupliedEnergyCSR() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; @@ -138,7 +133,7 @@ class UnsupliedEnergyCSR // Intermediate values InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/economy/waterValue.h b/src/solver/variable/include/antares/solver/variable/economy/waterValue.h index 488737ca5c..6ae43c0419 100644 --- a/src/solver/variable/include/antares/solver/variable/economy/waterValue.h +++ b/src/solver/variable/include/antares/solver/variable/economy/waterValue.h @@ -86,7 +86,7 @@ struct VCardWaterValue static constexpr uint8_t isPossiblyNonApplicable = 1; typedef IntermediateValues IntermediateValuesBaseType; - typedef IntermediateValues* IntermediateValuesType; + typedef std::vector<IntermediateValues> IntermediateValuesType; typedef IntermediateValuesBaseType* IntermediateValuesTypeForSpatialAg; @@ -131,18 +131,13 @@ class WaterValue: public Variable::IVariable<WaterValue<NextT>, NextT, VCardWate }; public: - ~WaterValue() - { - delete[] pValuesForTheCurrentYear; - } - void initializeFromStudy(Data::Study& study) { pNbYearsParallel = study.maxNbYearsInParallel; InitializeResultsFromStudy(AncestorType::pResults, study); - pValuesForTheCurrentYear = new VCardType::IntermediateValuesBaseType[pNbYearsParallel]; + pValuesForTheCurrentYear.resize(pNbYearsParallel); for (unsigned int numSpace = 0; numSpace < pNbYearsParallel; numSpace++) { pValuesForTheCurrentYear[numSpace].initializeFromStudy(study); diff --git a/src/solver/variable/include/antares/solver/variable/storage/intermediate.h b/src/solver/variable/include/antares/solver/variable/storage/intermediate.h index 661baf7eaa..dc95a5c39a 100644 --- a/src/solver/variable/include/antares/solver/variable/storage/intermediate.h +++ b/src/solver/variable/include/antares/solver/variable/storage/intermediate.h @@ -119,7 +119,6 @@ class IntermediateValues final const Type& operator[](const uint index) const; //@} -public: //! Range Antares::Data::StudyRangeLimits* pRange; //! Calendar, from the study, but dedicated to the output (with leap year) @@ -138,17 +137,6 @@ class IntermediateValues final //! Year Type year; -private: - // non copyable - IntermediateValues(const IntermediateValues&) - { - } - - IntermediateValues& operator=(const IntermediateValues&) - { - return *this; - } - template<uint Size, class VCardT, class A> void internalExportAnnualValues(SurveyResults& report, const A& array, bool annual) const;