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

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 56 of file ROL_VectorController.hpp.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Definition at line 60 of file ROL_VectorController_Def.hpp.

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.

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.

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::Accept, ROL::Initial, ROL::Revert, ROL::Temp, and ROL::Trial.

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::Accept, ROL::Initial, ROL::Revert, ROL::Temp, and ROL::Trial.

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.

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.

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.

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().

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().

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.

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.

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().

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

Definition at line 269 of file ROL_VectorController_Def.hpp.

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

Definition at line 276 of file ROL_VectorController_Def.hpp.

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.

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.

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().

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.

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.

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
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().

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

template<class Real, class Key = std::vector<Real>>
std::map<Key,int> ROL::VectorController< Real, Key >::indices_
private
template<class Real, class Key = std::vector<Real>>
std::map<Key,int> ROL::VectorController< Real, Key >::indices_trial_
private
template<class Real, class Key = std::vector<Real>>
std::map<Key,int> ROL::VectorController< Real, Key >::indices_temp_
private
template<class Real, class Key = std::vector<Real>>
std::vector<bool> ROL::VectorController< Real, Key >::flags_
private
template<class Real, class Key = std::vector<Real>>
std::vector<bool> ROL::VectorController< Real, Key >::flags_trial_
private
template<class Real, class Key = std::vector<Real>>
std::vector<bool> ROL::VectorController< Real, Key >::flags_temp_
private
template<class Real, class Key = std::vector<Real>>
std::vector<Ptr<Vector<Real> > > ROL::VectorController< Real, Key >::vectors_
private
template<class Real, class Key = std::vector<Real>>
std::vector<Ptr<Vector<Real> > > ROL::VectorController< Real, Key >::vectors_trial_
private
template<class Real, class Key = std::vector<Real>>
std::vector<Ptr<Vector<Real> > > ROL::VectorController< Real, Key >::vectors_temp_
private
template<class Real, class Key = std::vector<Real>>
int ROL::VectorController< Real, Key >::maxIndex_
private

Definition at line 62 of file ROL_VectorController.hpp.

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

Definition at line 62 of file ROL_VectorController.hpp.

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

Definition at line 62 of file ROL_VectorController.hpp.

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

Definition at line 65 of file ROL_VectorController.hpp.

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

Definition at line 65 of file ROL_VectorController.hpp.

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

Definition at line 66 of file ROL_VectorController.hpp.

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

Definition at line 66 of file ROL_VectorController.hpp.


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