30 #include "BindingConstraint.h"
31 #include "BindingConstraintSaver.h"
33 namespace Antares::Data
39 using Vector = std::vector<std::shared_ptr<BindingConstraint>>;
41 using iterator = Vector::iterator;
42 using const_iterator = Vector::const_iterator;
66 template<
class PredicateT>
67 void each(
const PredicateT& predicate);
71 template<
class PredicateT>
72 void each(
const PredicateT& predicate)
const;
75 [[nodiscard]] const_iterator begin()
const;
78 [[nodiscard]] const_iterator end()
const;
80 [[nodiscard]]
bool empty()
const;
86 std::shared_ptr<BindingConstraint>
add(
const AnyString& name);
91 std::shared_ptr<Data::BindingConstraint>
find(
const AnyString&
id);
96 [[nodiscard]] std::shared_ptr<const Data::BindingConstraint>
find(
const AnyString&
id)
const;
113 const std::filesystem::path& folder);
118 [[nodiscard]]
bool saveToFolder(
const AnyString& folder)
const;
129 [[nodiscard]] uint
size()
const;
171 [[nodiscard]]
Vector activeConstraints()
const;
173 [[nodiscard]]
Vector getPtrForInequalityBindingConstraints()
const;
181 mutable Vector activeConstraints_;
188 pFilter(std::move(filter))
192 bool operator()(
const std::shared_ptr<BindingConstraint>& s)
const
194 return (s->name()).contains(pFilter);
202 #include "BindingConstraintsRepository.hxx"
Definition of a link between two areas (Interconnection)
Definition: links.h:58
Definition for a single area.
Definition: area.h:51
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.
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:392
void reverseWeightSign(const Data::AreaLink *lnk)
Reverse the sign of the weight for a given interconnection or thermal cluster.
Definition: BindingConstraintsRepository.cpp:315
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:442
bool loadFromFolder(Data::Study &s, const Data::StudyLoadOptions &options, const std::filesystem::path &folder)
Load all binding constraints from a folder.
Definition: BindingConstraintsRepository.cpp:180
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:257
bool rename(Data::BindingConstraint *bc, const AnyString &newname)
Rename a binding constraint.
Definition: BindingConstraintsRepository.cpp:158
void remove(const Data::BindingConstraint *bc)
Remove a binding constraint.
Definition: BindingConstraintsRepository.cpp:364
std::vector< std::shared_ptr< BindingConstraint > > Vector
Vector of binding constraints.
Definition: BindingConstraintsRepository.h:39
BindingConstraintsRepository()=default
Default constructor.
Definition: EnvForLoading.h:36
Definition: load-options.h:34
Definition: BindingConstraintsRepository.h:185