ROL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROL::VectorController< Real, Key > Class Template Reference

#include <ROL_VectorController.hpp>

+ Inheritance diagram for ROL::VectorController< Real, Key >:

Public Member Functions

 VectorController (void)
 Constructor.
 
void reset (bool flag=true)
 
void objectiveUpdate (bool flag=true)
 Objective function update for VectorController storage.
 
void constraintUpdate (bool flag=true)
 Equality constraint update for VectorController storage.
 
void objectiveUpdate (UpdateType type)
 Objective function update for VectorController storage.
 
void constraintUpdate (UpdateType type)
 Constraint update for VectorController storage.
 
bool isNull (const Key &param) const
 Check if vector associated with provided key is allocated.
 
bool isComputed (const Key &param) const
 Check if vector has been computed.
 
void allocate (const Vector< Real > &x, const Key &param)
 Allocate the vector associated with provided key.
 
const Ptr< Vector< Real > > set (const Key &param)
 Set the vector associated with provided key. This assumes the vector data will be changed.
 
const Ptr< const Vector< Real > > get (const Key &param) const
 Return the vector associated with provided key.
 
bool get (Vector< Real > &x, const Key &param)
 Return vector corresponding to input parameter.
 
void set (const Vector< Real > &x, const Key &param)
 Set vector corresponding to input parameter.
 
void push (VectorController< Real, Key > &to) const
 Push the contents of *this into another VectorController.
 

Private Member Functions

void resetTrial (void)
 
void resetTemp (void)
 
bool isNull (const Key &param, const std::map< Key, int > &indices) const
 
bool isComputed (const Key &param, const std::map< Key, int > &indices, const std::vector< bool > &flags) const
 
void allocate (const Vector< Real > &x, const Key &param, std::map< Key, int > &indices, std::vector< bool > &flags, std::vector< Ptr< Vector< Real > > > &vectors, int &maxIndex) const
 
const Ptr< const Vector< Real > > get (const Key &param, const std::map< Key, int > &indices, const std::vector< bool > &flags, const std::vector< Ptr< Vector< Real > > > &vectors, const int &maxIndex) const
 
const Ptr< Vector< Real > > set (const Key &param, std::map< Key, int > &indices, std::vector< bool > &flags, std::vector< Ptr< Vector< Real > > > &vectors, int &maxIndex) const
 
bool get (Vector< Real > &x, const Key &param, std::map< Key, int > &indices, std::vector< bool > &flags, std::vector< Ptr< Vector< Real > > > &vectors, int &maxIndex) const
 
void set (const Vector< Real > &x, const Key &param, std::map< Key, int > &indices, std::vector< bool > &flags, std::vector< Ptr< Vector< Real > > > &vectors, int &maxIndex) const
 
void accept (void)
 

Private Attributes

std::map< Key, int > indices_
 
std::map< Key, int > indices_trial_
 
std::map< Key, int > indices_temp_
 
std::vector< bool > flags_
 
std::vector< bool > flags_trial_
 
std::vector< bool > flags_temp_
 
std::vector< Ptr< Vector< Real > > > vectors_
 
std::vector< Ptr< Vector< Real > > > vectors_trial_
 
std::vector< Ptr< Vector< Real > > > vectors_temp_
 
int maxIndex_
 
int maxIndex_trial_
 
int maxIndex_temp_
 
bool trial_
 
bool temp_
 
bool objUpdated_
 
bool conUpdated_
 

Detailed Description

template<class Real, class Key = std::vector<Real>>
class ROL::VectorController< Real, Key >

Definition at line 54 of file ROL_VectorController.hpp.

Constructor & Destructor Documentation

◆ VectorController()

template<class Real , class Key >
ROL::VectorController< Real, Key >::VectorController ( void  )

Member Function Documentation

◆ reset()

template<class Real , class Key >
void ROL::VectorController< Real, Key >::reset ( bool  flag = true)

Definition at line 60 of file ROL_VectorController_Def.hpp.

◆ objectiveUpdate() [1/2]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::objectiveUpdate ( bool  flag = true)

Objective function update for VectorController storage.

Definition at line 69 of file ROL_VectorController_Def.hpp.

◆ constraintUpdate() [1/2]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::constraintUpdate ( bool  flag = true)

Equality constraint update for VectorController storage.

Definition at line 83 of file ROL_VectorController_Def.hpp.

◆ objectiveUpdate() [2/2]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::objectiveUpdate ( UpdateType  type)

Objective function update for VectorController storage.

Definition at line 97 of file ROL_VectorController_Def.hpp.

References ROL::Temp.

◆ constraintUpdate() [2/2]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::constraintUpdate ( UpdateType  type)

Constraint update for VectorController storage.

Definition at line 124 of file ROL_VectorController_Def.hpp.

References ROL::Temp.

◆ isNull() [1/2]

template<class Real , class Key >
bool ROL::VectorController< Real, Key >::isNull ( const Key &  param) const

Check if vector associated with provided key is allocated.

Definition at line 151 of file ROL_VectorController_Def.hpp.

◆ isComputed() [1/2]

template<class Real , class Key >
bool ROL::VectorController< Real, Key >::isComputed ( const Key &  param) const

Check if vector has been computed.

Definition at line 167 of file ROL_VectorController_Def.hpp.

◆ allocate() [1/2]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::allocate ( const Vector< Real > &  x,
const Key &  param 
)

Allocate the vector associated with provided key.

Definition at line 183 of file ROL_VectorController_Def.hpp.

◆ set() [1/4]

template<class Real , class Key >
const Ptr< Vector< Real > > ROL::VectorController< Real, Key >::set ( const Key &  param)

Set the vector associated with provided key. This assumes the vector data will be changed.

Definition at line 214 of file ROL_VectorController_Def.hpp.

Referenced by ROL::VectorController< Real, Key >::push(), and ROL::ScalarController< Real, Key >::set().

◆ get() [1/4]

template<class Real , class Key >
const Ptr< const Vector< Real > > ROL::VectorController< Real, Key >::get ( const Key &  param) const

Return the vector associated with provided key.

Definition at line 198 of file ROL_VectorController_Def.hpp.

Referenced by ROL::ScalarController< Real, Key >::get().

◆ get() [2/4]

template<class Real , class Key >
bool ROL::VectorController< Real, Key >::get ( Vector< Real > &  x,
const Key &  param 
)

Return vector corresponding to input parameter.

Definition at line 230 of file ROL_VectorController_Def.hpp.

◆ set() [2/4]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::set ( const Vector< Real > &  x,
const Key &  param 
)

Set vector corresponding to input parameter.

Definition at line 247 of file ROL_VectorController_Def.hpp.

◆ push()

template<class Real , class Key >
void ROL::VectorController< Real, Key >::push ( VectorController< Real, Key > &  to) const

Push the contents of *this into another VectorController.

Definition at line 262 of file ROL_VectorController_Def.hpp.

References ROL::VectorController< Real, Key >::set().

◆ resetTrial()

template<class Real , class Key >
void ROL::VectorController< Real, Key >::resetTrial ( void  )
private

Definition at line 269 of file ROL_VectorController_Def.hpp.

◆ resetTemp()

template<class Real , class Key >
void ROL::VectorController< Real, Key >::resetTemp ( void  )
private

Definition at line 276 of file ROL_VectorController_Def.hpp.

◆ isNull() [2/2]

template<class Real , class Key >
bool ROL::VectorController< Real, Key >::isNull ( const Key &  param,
const std::map< Key, int > &  indices 
) const
private

Definition at line 283 of file ROL_VectorController_Def.hpp.

◆ isComputed() [2/2]

template<class Real , class Key >
bool ROL::VectorController< Real, Key >::isComputed ( const Key &  param,
const std::map< Key, int > &  indices,
const std::vector< bool > &  flags 
) const
private

Definition at line 289 of file ROL_VectorController_Def.hpp.

◆ allocate() [2/2]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::allocate ( const Vector< Real > &  x,
const Key &  param,
std::map< Key, int > &  indices,
std::vector< bool > &  flags,
std::vector< Ptr< Vector< Real > > > &  vectors,
int &  maxIndex 
) const
private

Definition at line 299 of file ROL_VectorController_Def.hpp.

References ROL::Vector< Real >::clone().

◆ get() [3/4]

template<class Real , class Key >
const Ptr< const Vector< Real > > ROL::VectorController< Real, Key >::get ( const Key &  param,
const std::map< Key, int > &  indices,
const std::vector< bool > &  flags,
const std::vector< Ptr< Vector< Real > > > &  vectors,
const int &  maxIndex 
) const
private

Definition at line 312 of file ROL_VectorController_Def.hpp.

◆ set() [3/4]

template<class Real , class Key >
const Ptr< Vector< Real > > ROL::VectorController< Real, Key >::set ( const Key &  param,
std::map< Key, int > &  indices,
std::vector< bool > &  flags,
std::vector< Ptr< Vector< Real > > > &  vectors,
int &  maxIndex 
) const
private

Definition at line 326 of file ROL_VectorController_Def.hpp.

◆ get() [4/4]

template<class Real , class Key >
bool ROL::VectorController< Real, Key >::get ( Vector< Real > &  x,
const Key &  param,
std::map< Key, int > &  indices,
std::vector< bool > &  flags,
std::vector< Ptr< Vector< Real > > > &  vectors,
int &  maxIndex 
) const
private

◆ set() [4/4]

template<class Real , class Key >
void ROL::VectorController< Real, Key >::set ( const Vector< Real > &  x,
const Key &  param,
std::map< Key, int > &  indices,
std::vector< bool > &  flags,
std::vector< Ptr< Vector< Real > > > &  vectors,
int &  maxIndex 
) const
private

Definition at line 369 of file ROL_VectorController_Def.hpp.

References ROL::Vector< Real >::clone().

◆ accept()

template<class Real , class Key >
void ROL::VectorController< Real, Key >::accept ( void  )
private

Definition at line 390 of file ROL_VectorController_Def.hpp.

Member Data Documentation

◆ indices_

template<class Real , class Key = std::vector<Real>>
std::map<Key,int> ROL::VectorController< Real, Key >::indices_
private

◆ indices_trial_

template<class Real , class Key = std::vector<Real>>
std::map<Key,int> ROL::VectorController< Real, Key >::indices_trial_
private

◆ indices_temp_

template<class Real , class Key = std::vector<Real>>
std::map<Key,int> ROL::VectorController< Real, Key >::indices_temp_
private

◆ flags_

template<class Real , class Key = std::vector<Real>>
std::vector<bool> ROL::VectorController< Real, Key >::flags_
private

◆ flags_trial_

template<class Real , class Key = std::vector<Real>>
std::vector<bool> ROL::VectorController< Real, Key >::flags_trial_
private

◆ flags_temp_

template<class Real , class Key = std::vector<Real>>
std::vector<bool> ROL::VectorController< Real, Key >::flags_temp_
private

◆ vectors_

template<class Real , class Key = std::vector<Real>>
std::vector<Ptr<Vector<Real> > > ROL::VectorController< Real, Key >::vectors_
private

◆ vectors_trial_

template<class Real , class Key = std::vector<Real>>
std::vector<Ptr<Vector<Real> > > ROL::VectorController< Real, Key >::vectors_trial_
private

◆ vectors_temp_

template<class Real , class Key = std::vector<Real>>
std::vector<Ptr<Vector<Real> > > ROL::VectorController< Real, Key >::vectors_temp_
private

◆ maxIndex_

template<class Real , class Key = std::vector<Real>>
int ROL::VectorController< Real, Key >::maxIndex_
private

Definition at line 60 of file ROL_VectorController.hpp.

◆ maxIndex_trial_

template<class Real , class Key = std::vector<Real>>
int ROL::VectorController< Real, Key >::maxIndex_trial_
private

Definition at line 60 of file ROL_VectorController.hpp.

◆ maxIndex_temp_

template<class Real , class Key = std::vector<Real>>
int ROL::VectorController< Real, Key >::maxIndex_temp_
private

Definition at line 60 of file ROL_VectorController.hpp.

◆ trial_

template<class Real , class Key = std::vector<Real>>
bool ROL::VectorController< Real, Key >::trial_
private

Definition at line 63 of file ROL_VectorController.hpp.

◆ temp_

template<class Real , class Key = std::vector<Real>>
bool ROL::VectorController< Real, Key >::temp_
private

Definition at line 63 of file ROL_VectorController.hpp.

◆ objUpdated_

template<class Real , class Key = std::vector<Real>>
bool ROL::VectorController< Real, Key >::objUpdated_
private

Definition at line 64 of file ROL_VectorController.hpp.

◆ conUpdated_

template<class Real , class Key = std::vector<Real>>
bool ROL::VectorController< Real, Key >::conUpdated_
private

Definition at line 64 of file ROL_VectorController.hpp.


The documentation for this class was generated from the following files: