30#include "BindingConstraint.h"
31#include "BindingConstraintSaver.h"
33namespace Antares::Data
39 using Vector = std::vector<std::shared_ptr<BindingConstraint>>;
43 using iterator = Vector::iterator;
44 using const_iterator = Vector::const_iterator;
68 template<
class PredicateT>
69 void each(
const PredicateT& predicate);
73 template<
class PredicateT>
74 void each(
const PredicateT& predicate)
const;
77 [[nodiscard]] const_iterator begin()
const;
80 [[nodiscard]] const_iterator end()
const;
82 [[nodiscard]]
bool empty()
const;
88 std::shared_ptr<BindingConstraint>
add(
const AnyString& name);
93 std::shared_ptr<Data::BindingConstraint>
find(
const AnyString&
id);
98 [[nodiscard]] std::shared_ptr<const Data::BindingConstraint>
find(
const AnyString&
id)
const;
115 const std::filesystem::path& folder);
120 [[nodiscard]]
bool saveToFolder(
const AnyString& folder)
const;
130 [[nodiscard]] uint
size()
const;
170 static std::vector<std::shared_ptr<BindingConstraint>> LoadBindingConstraint(
EnvForLoading env);
172 [[nodiscard]] std::vector<std::shared_ptr<BindingConstraint>> activeConstraints()
const;
174 [[nodiscard]]
Vector getPtrForInequalityBindingConstraints()
const;
182 mutable std::vector<std::shared_ptr<BindingConstraint>> activeConstraints_;
189 pFilter(std::move(filter))
193 bool operator()(
const std::shared_ptr<BindingConstraint>& s)
const
195 return (s->name()).contains(pFilter);
203#include "BindingConstraintsRepository.hxx"
Definition of a link between two areas (Interconnection)
Definition links.h:50
Definition for a single area.
Definition area.h:52
Definition BindingConstraintSaver.h:37
Definition BindingConstraint.h:49
Definition BindingConstraintsRepository.h:36
std::shared_ptr< Data::BindingConstraint > find(const AnyString &id)
Definition BindingConstraintsRepository.cpp:46
void removeConstraintsWhoseNameConstains(const AnyString &filter)
Remove any binding constraint whose name contains the string in argument.
Definition BindingConstraintsRepository.cpp:95
~BindingConstraintsRepository()=default
Destructor.
std::set< std::shared_ptr< BindingConstraint >, CompareBindingConstraintName > Set
Ordered Set of binding constraints.
Definition BindingConstraintsRepository.h:41
void each(const PredicateT &predicate)
Iterate through all constraints.
Definition BindingConstraintsRepository.hxx:44
void clear()
Delete all constraints.
Definition BindingConstraintsRepository.cpp:38
uint size() const
Get the number of binding constraints.
Definition BindingConstraintsRepository.hxx:33
void markAsModified() const
Mark the constraint as modified.
Definition BindingConstraintsRepository.cpp:390
void reverseWeightSign(const Data::AreaLink *lnk)
Reverse the sign of the weight for a given interconnection or thermal cluster.
Definition BindingConstraintsRepository.cpp:313
Data::BindingConstraint * findByName(const AnyString &name)
Try to find a constraint from its name.
Definition BindingConstraintsRepository.cpp:71
void forceReload(bool reload=false) const
Invalidate all matrices of all binding constraints.
Definition BindingConstraintsRepository.cpp:440
bool loadFromFolder(Data::Study &s, const Data::StudyLoadOptions &options, const std::filesystem::path &folder)
Load all binding constraints from a folder.
Definition BindingConstraintsRepository.cpp:178
std::shared_ptr< BindingConstraint > add(const AnyString &name)
Add a new binding constraint.
Definition BindingConstraintsRepository.cpp:132
void changeConstraintsWeeklyToDaily()
Convert all weekly constraints into daily ones.
Definition BindingConstraintsRepository.cpp:255
std::vector< std::shared_ptr< BindingConstraint > > Vector
Vector of binding constraints.
Definition BindingConstraintsRepository.h:39
bool rename(Data::BindingConstraint *bc, const AnyString &newname)
Rename a binding constraint.
Definition BindingConstraintsRepository.cpp:156
void remove(const Data::BindingConstraint *bc)
Remove a binding constraint.
Definition BindingConstraintsRepository.cpp:362
bool saveToFolder(const AnyString &folder) const
Save all binding constraints into a folder.
Definition BindingConstraintsRepository.cpp:149
BindingConstraintsRepository()=default
Default constructor.
Definition EnvForLoading.h:36
Definition load-options.h:36
Definition BindingConstraint.h:416
Definition BindingConstraintsRepository.h:186