Drake
Supervector< T > Class Template Reference

Supervector is a concrete class template that implements VectorBase by concatenating multiple VectorBases, which it does not own. More...

#include <drake/systems/framework/supervector.h>

Inheritance diagram for Supervector< T >:
[legend]
Collaboration diagram for Supervector< T >:
[legend]

Public Member Functions

 Supervector (const std::vector< VectorBase< T > * > &subvectors)
 Constructs a supervector consisting of all the vectors in subvectors, which must live at least as long as this supervector. More...
 
int size () const override
 Returns the number of elements in the vector. More...
 
const T & GetAtIndex (int index) const override
 Returns the element at the given index in the vector. More...
 
T & GetAtIndex (int index) override
 Returns the element at the given index in the vector. More...
 
Does not allow copy, move, or assignment
 Supervector (const Supervector &)=delete
 
Supervectoroperator= (const Supervector &)=delete
 
 Supervector (Supervector &&)=delete
 
Supervectoroperator= (Supervector &&)=delete
 
- Public Member Functions inherited from VectorBase< T >
virtual ~VectorBase ()
 
T & operator[] (std::size_t idx)
 
const T & operator[] (std::size_t idx) const
 
void SetAtIndex (int index, const T &value)
 Replaces the state at the given index with the value. More...
 
virtual void SetFrom (const VectorBase< T > &value)
 Replaces the entire vector with the contents of value. More...
 
virtual void SetFromVector (const Eigen::Ref< const VectorX< T >> &value)
 Replaces the entire vector with the contents of value. More...
 
virtual void SetZero ()
 
virtual VectorX< T > CopyToVector () const
 Copies the entire state to a vector with no semantics. More...
 
virtual void ScaleAndAddToVector (const T &scale, Eigen::Ref< VectorX< T >> vec) const
 Adds a scaled version of this vector to Eigen vector vec, which must be the same size. More...
 
VectorBasePlusEqScaled (const T &scale, const VectorBase< T > &rhs)
 Add in scaled vector rhs to this vector. More...
 
VectorBasePlusEqScaled (const std::initializer_list< std::pair< T, const VectorBase< T > & >> &rhs_scale)
 Add in multiple scaled vectors to this vector. More...
 
VectorBaseoperator+= (const VectorBase< T > &rhs)
 Add in vector rhs to this vector. More...
 
VectorBaseoperator-= (const VectorBase< T > &rhs)
 Subtract in vector rhs to this vector. More...
 
virtual T NormInf () const
 Computes the infinity norm for this vector. More...
 
virtual void CalcInequalityConstraint (VectorX< T > *value) const
 Populates a vector value suitable for a SystemConstraint inequality constraint. More...
 
 VectorBase (const VectorBase &)=delete
 
VectorBaseoperator= (const VectorBase &)=delete
 
 VectorBase (VectorBase &&)=delete
 
VectorBaseoperator= (VectorBase &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from VectorBase< T >
 VectorBase ()
 
virtual void DoPlusEqScaled (const std::initializer_list< std::pair< T, const VectorBase< T > & >> &rhs_scale)
 Adds in multiple scaled vectors to this vector. More...
 

Detailed Description

template<typename T>
class drake::systems::Supervector< T >

Supervector is a concrete class template that implements VectorBase by concatenating multiple VectorBases, which it does not own.

Template Parameters
TA mathematical type compatible with Eigen's Scalar.

Constructor & Destructor Documentation

Supervector ( const Supervector< T > &  )
delete
Supervector ( Supervector< T > &&  )
delete
Supervector ( const std::vector< VectorBase< T > * > &  subvectors)
inlineexplicit

Constructs a supervector consisting of all the vectors in subvectors, which must live at least as long as this supervector.

Member Function Documentation

const T& GetAtIndex ( int  index) const
inlineoverridevirtual

Returns the element at the given index in the vector.

Throws std::runtime_error if the index is >= size().

Implementations should ensure this operation is O(1) and allocates no memory.

Implements VectorBase< T >.

T& GetAtIndex ( int  index)
inlineoverridevirtual

Returns the element at the given index in the vector.

Throws std::runtime_error if the index is >= size().

Implementations should ensure this operation is O(1) and allocates no memory.

Implements VectorBase< T >.

Here is the call graph for this function:

Supervector& operator= ( Supervector< T > &&  )
delete
Supervector& operator= ( const Supervector< T > &  )
delete
int size ( ) const
inlineoverridevirtual

Returns the number of elements in the vector.

Implementations should ensure this operation is O(1) and allocates no memory.

Implements VectorBase< T >.

Here is the caller graph for this function:


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