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 21 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 25 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 34 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 48 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 62 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 89 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 116 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 132 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 148 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 179 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 163 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 195 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 212 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 227 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 234 of file ROL_VectorController_Def.hpp.

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

Definition at line 241 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 248 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 254 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 264 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 277 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 291 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 334 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 355 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 27 of file ROL_VectorController.hpp.

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

Definition at line 27 of file ROL_VectorController.hpp.

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

Definition at line 27 of file ROL_VectorController.hpp.

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

Definition at line 30 of file ROL_VectorController.hpp.

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

Definition at line 30 of file ROL_VectorController.hpp.

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

Definition at line 31 of file ROL_VectorController.hpp.

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

Definition at line 31 of file ROL_VectorController.hpp.


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