10 #ifndef ROL_SIMCONTROLLER_H
11 #define ROL_SIMCONTROLLER_H
20 template <
class Real,
class Key=std::vector<Real>>
38 void reset(
bool flag =
true);
58 bool isNull(
const Key ¶m)
const;
71 const Ptr<Vector<Real>>
set(
const Key ¶m);
75 const Ptr<const Vector<Real>>
get(
const Key ¶m)
const;
95 bool isNull(
const Key ¶m,
const std::map<Key,int> &indices)
const;
97 bool isComputed(
const Key ¶m,
const std::map<Key,int> &indices,
98 const std::vector<bool> &flags)
const;
101 std::map<Key,int> &indices, std::vector<bool> &flags,
102 std::vector<Ptr<
Vector<Real>>> &vectors,
int &maxIndex)
const;
104 const Ptr<const Vector<Real>>
get(
const Key ¶m,
105 const std::map<Key,int> &indices,
const std::vector<bool> &flags,
106 const std::vector<Ptr<Vector<Real>>> &vectors,
const int &maxIndex)
const;
108 const Ptr<Vector<Real>>
set(
const Key ¶m,
109 std::map<Key,int> &indices, std::vector<bool> &flags,
110 std::vector<Ptr<
Vector<Real>>> &vectors,
int &maxIndex)
const;
113 std::map<Key,int> &indices, std::vector<bool> &flags,
114 std::vector<Ptr<Vector<Real>>> &vectors,
int &maxIndex)
const;
117 std::map<Key,int> &indices, std::vector<bool> &flags,
118 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_