45 #ifndef ROL_SIMCONTROLLER_H
46 #define ROL_SIMCONTROLLER_H
55 template <
class Real,
class Key=std::vector<Real>>
73 void reset(
bool flag =
true);
93 bool isNull(
const Key ¶m)
const;
106 const Ptr<Vector<Real>>
set(
const Key ¶m);
110 const Ptr<const Vector<Real>>
get(
const Key ¶m)
const;
130 bool isNull(
const Key ¶m,
const std::map<Key,int> &indices)
const;
132 bool isComputed(
const Key ¶m,
const std::map<Key,int> &indices,
133 const std::vector<bool> &flags)
const;
136 std::map<Key,int> &indices, std::vector<bool> &flags,
137 std::vector<Ptr<
Vector<Real>>> &vectors,
int &maxIndex)
const;
139 const Ptr<const Vector<Real>>
get(
const Key ¶m,
140 const std::map<Key,int> &indices,
const std::vector<bool> &flags,
141 const std::vector<Ptr<Vector<Real>>> &vectors,
const int &maxIndex)
const;
143 const Ptr<Vector<Real>>
set(
const Key ¶m,
144 std::map<Key,int> &indices, std::vector<bool> &flags,
145 std::vector<Ptr<
Vector<Real>>> &vectors,
int &maxIndex)
const;
148 std::map<Key,int> &indices, std::vector<bool> &flags,
149 std::vector<Ptr<Vector<Real>>> &vectors,
int &maxIndex)
const;
152 std::map<Key,int> &indices, std::vector<bool> &flags,
153 std::vector<Ptr<
Vector<Real>>> &vectors,
int &maxIndex)
const;
std::map< Key, int > indices_temp_
std::vector< bool > flags_
bool isNull(const Key ¶m) const
Check if vector associated with provided key is allocated.
void constraintUpdate(bool flag=true)
Equality constraint update for VectorController storage.
const Ptr< Vector< Real > > set(const Key ¶m)
Set the vector associated with provided key. This assumes the vector data will be changed...
Defines the linear algebra or vector space interface.
std::map< Key, int > indices_
VectorController(void)
Constructor.
void push(VectorController< Real, Key > &to) const
Push the contents of *this into another VectorController.
bool isComputed(const Key ¶m) const
Check if vector has been computed.
void allocate(const Vector< Real > &x, const Key ¶m)
Allocate the vector associated with provided key.
std::map< Key, int > indices_trial_
void objectiveUpdate(bool flag=true)
Objective function update for VectorController storage.
std::vector< Ptr< Vector< Real > > > vectors_trial_
std::vector< Ptr< Vector< Real > > > vectors_temp_
std::vector< bool > flags_temp_
void reset(bool flag=true)
std::vector< bool > flags_trial_
std::vector< Ptr< Vector< Real > > > vectors_