Public Member Functions | Protected Attributes | List of all members
tuw::StateNestedVector< SubState > Class Template Reference

#include <state_nested_vector.h>

Inheritance diagram for tuw::StateNestedVector< SubState >:
Inheritance graph
[legend]

Public Member Functions

const std::shared_ptr< SubState > & at (size_t i) const
 
std::shared_ptr< SubState > & at (size_t i)
 
virtual StateSPtr cloneState () const override
 Clone-to-base-class-ptr function. More...
 
StateNestedVectoroperator= (const StateNestedVector &)=default
 
StateNestedVectoroperator= (StateNestedVector &&)=default
 
const SubState & operator[] (size_t i) const
 
SubState & operator[] (size_t i)
 
void resize (const size_t &_i) override
 Resizes the array. More...
 
StateSPtrstate (const std::size_t &_i) override
 Access sub-state based on index _i. More...
 
 StateNestedVector (State *_parent)
 
 StateNestedVector ()
 
 StateNestedVector (const StateNestedVector &)=default
 
 StateNestedVector (StateNestedVector &&)=default
 
std::shared_ptr< SubState > & stateScoped (const size_t &_i)
 returns pointer to the extended class of the sub-state at index _i. More...
 
size_t stateSize () const override
 Size of the sub-states. More...
 
void updateSize () override
 Performs internal manipulation when any of the underlying arrays are being resized. More...
 
double & value (const std::size_t &_i) override
 Access state variable based on index _i. More...
 
const double & value (const std::size_t &_i) const override
 Const access state variable based on index _i. More...
 
size_t valueSize () const override
 Size of the state variables. More...
 
virtual ~StateNestedVector ()=default
 
- Public Member Functions inherited from tuw::State
void fromEIGENVec (const Eigen::VectorXd &_vec)
 Copies all values from an Eigen vector. The valueSize of the State object has to be equal with the Eigen vector size. More...
 
void fromSTLVec (const std::vector< double > &_vec)
 Copies all values from an STL vector. The valueSize of the State object has to be equal with the STL vector size. More...
 
Stateoperator= (const State &)=default
 
Stateoperator= (State &&)=default
 
 State (State *_parent)
 
 State ()
 
 State (const State &)=default
 
 State (State &&)=default
 
void toEIGENVec (Eigen::VectorXd &_vec)
 Converts all the array values to an Eigen vector. More...
 
void toSTLVec (std::vector< double > &_vec)
 Converts all the array values to an STL vector. More...
 
virtual ~State ()=default
 

Protected Attributes

std::vector< std::shared_ptr< SubState > > states_
 
std::vector< StateSPtrstatesBase_
 
size_t statesSize_
 
std::vector< double * > values_
 
size_t valueSize_
 
- Protected Attributes inherited from tuw::State
Stateparent_
 Pointer to the parent State structure. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from tuw::State
static std::vector< double > & minus (State &_lhs, State &_rhs, std::vector< double > &_ans)
 Performs substraction. Left and right operand are required to have the same valueSize. More...
 
static Eigen::VectorXd & minus (State &_lhs, State &_rhs, Eigen::VectorXd &_ans)
 Performs substraction. Left and right operand are required to have the same valueSize. More...
 
static Stateminus (State &_lhs, State &_rhs, State &_ans)
 Performs substraction. Answer variable, left operand and right operand are required to have the same valueSize. More...
 
static std::vector< double > & plus (State &_lhs, State &_rhs, std::vector< double > &_ans)
 Performs addition. Left and right operand are required to have the same valueSize. More...
 
static Eigen::VectorXd & plus (State &_lhs, State &_rhs, Eigen::VectorXd &_ans)
 Performs addition. Left and right operand are required to have the same valueSize. More...
 
static Stateplus (State &_lhs, State &_rhs, State &_ans)
 Performs addition. Answer variable, left operand and right operand are required to have the same valueSize. More...
 
- Protected Member Functions inherited from tuw::State
void callRootUpdateSize ()
 Calls (if present) the parent updateSize procedure. Otherwise performs root updateSize. More...
 

Detailed Description

template<typename SubState>
class tuw::StateNestedVector< SubState >

Definition at line 49 of file state_nested_vector.h.

Constructor & Destructor Documentation

template<typename SubState>
tuw::StateNestedVector< SubState >::StateNestedVector ( State _parent)
inline

Definition at line 62 of file state_nested_vector.h.

template<typename SubState>
tuw::StateNestedVector< SubState >::StateNestedVector ( )
inline

Definition at line 68 of file state_nested_vector.h.

template<typename SubState>
virtual tuw::StateNestedVector< SubState >::~StateNestedVector ( )
virtualdefault
template<typename SubState>
tuw::StateNestedVector< SubState >::StateNestedVector ( const StateNestedVector< SubState > &  )
default
template<typename SubState>
tuw::StateNestedVector< SubState >::StateNestedVector ( StateNestedVector< SubState > &&  )
default

Member Function Documentation

template<typename SubState>
const std::shared_ptr<SubState>& tuw::StateNestedVector< SubState >::at ( size_t  i) const
inline

Definition at line 200 of file state_nested_vector.h.

template<typename SubState>
std::shared_ptr<SubState>& tuw::StateNestedVector< SubState >::at ( size_t  i)
inline

Definition at line 206 of file state_nested_vector.h.

template<typename SubState>
virtual StateSPtr tuw::StateNestedVector< SubState >::cloneState ( ) const
inlineoverridevirtual

Clone-to-base-class-ptr function.

Implements tuw::State.

Definition at line 89 of file state_nested_vector.h.

template<typename SubState>
StateNestedVector& tuw::StateNestedVector< SubState >::operator= ( const StateNestedVector< SubState > &  )
default
template<typename SubState>
StateNestedVector& tuw::StateNestedVector< SubState >::operator= ( StateNestedVector< SubState > &&  )
default
template<typename SubState>
const SubState& tuw::StateNestedVector< SubState >::operator[] ( size_t  i) const
inline

Definition at line 188 of file state_nested_vector.h.

template<typename SubState>
SubState& tuw::StateNestedVector< SubState >::operator[] ( size_t  i)
inline

Definition at line 194 of file state_nested_vector.h.

template<typename SubState>
void tuw::StateNestedVector< SubState >::resize ( const size_t &  _i)
inlineoverridevirtual

Resizes the array.

Reimplemented from tuw::State.

Definition at line 147 of file state_nested_vector.h.

template<typename SubState>
StateSPtr& tuw::StateNestedVector< SubState >::state ( const std::size_t &  _i)
inlineoverridevirtual

Access sub-state based on index _i.

Reimplemented from tuw::State.

Definition at line 119 of file state_nested_vector.h.

template<typename SubState>
std::shared_ptr<SubState>& tuw::StateNestedVector< SubState >::stateScoped ( const size_t &  _i)
inline

returns pointer to the extended class of the sub-state at index _i.

Definition at line 167 of file state_nested_vector.h.

template<typename SubState>
size_t tuw::StateNestedVector< SubState >::stateSize ( ) const
inlineoverridevirtual

Size of the sub-states.

Reimplemented from tuw::State.

Definition at line 95 of file state_nested_vector.h.

template<typename SubState>
void tuw::StateNestedVector< SubState >::updateSize ( )
inlineoverridevirtual

Performs internal manipulation when any of the underlying arrays are being resized.

Reimplemented from tuw::State.

Definition at line 125 of file state_nested_vector.h.

template<typename SubState>
double& tuw::StateNestedVector< SubState >::value ( const std::size_t &  _i)
inlineoverridevirtual

Access state variable based on index _i.

Implements tuw::State.

Definition at line 107 of file state_nested_vector.h.

template<typename SubState>
const double& tuw::StateNestedVector< SubState >::value ( const std::size_t &  _i) const
inlineoverridevirtual

Const access state variable based on index _i.

Implements tuw::State.

Definition at line 113 of file state_nested_vector.h.

template<typename SubState>
size_t tuw::StateNestedVector< SubState >::valueSize ( ) const
inlineoverridevirtual

Size of the state variables.

Implements tuw::State.

Definition at line 101 of file state_nested_vector.h.

Member Data Documentation

template<typename SubState>
std::vector<std::shared_ptr<SubState> > tuw::StateNestedVector< SubState >::states_
protected

Definition at line 179 of file state_nested_vector.h.

template<typename SubState>
std::vector<StateSPtr> tuw::StateNestedVector< SubState >::statesBase_
protected

Definition at line 182 of file state_nested_vector.h.

template<typename SubState>
size_t tuw::StateNestedVector< SubState >::statesSize_
protected

Definition at line 176 of file state_nested_vector.h.

template<typename SubState>
std::vector<double*> tuw::StateNestedVector< SubState >::values_
protected

Definition at line 185 of file state_nested_vector.h.

template<typename SubState>
size_t tuw::StateNestedVector< SubState >::valueSize_
protected

Definition at line 173 of file state_nested_vector.h.


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


tuw_control
Author(s): George Todoran
autogenerated on Mon Jun 10 2019 15:27:23