Subvector is a concrete class template that implements VectorBase by providing a sliced view of a VectorBase.
| T | The scalar type, which must be one of the default scalars. |
#include <drake/systems/framework/subvector.h>
Public Member Functions | |
| Subvector (VectorBase< T > *vector, int first_element, int num_elements) | |
| Constructs a subvector of vector that consists of num_elements starting at first_element. More... | |
| int | size () const final |
| Returns the number of elements in the vector. More... | |
Does not allow copy, move, or assignment | |
| Subvector (const Subvector &)=delete | |
| Subvector & | operator= (const Subvector &)=delete |
| Subvector (Subvector &&)=delete | |
| Subvector & | operator= (Subvector &&)=delete |
Public Member Functions inherited from VectorBase< T > | |
| virtual | ~VectorBase () |
| T & | operator[] (int index) |
| Returns the element at the given index in the vector. More... | |
| const T & | operator[] (int index) const |
| Returns the element at the given index in the vector. More... | |
| const T & | GetAtIndex (int index) const |
| Returns the element at the given index in the vector. More... | |
| T & | GetAtIndex (int index) |
| Returns the element at the given index in the vector. More... | |
| 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 () |
| Sets all elements of this vector to zero. More... | |
| virtual VectorX< T > | CopyToVector () const |
| Copies this entire VectorBase into a contiguous Eigen Vector. More... | |
| virtual void | CopyToPreSizedVector (EigenPtr< VectorX< T >> vec) const |
| Copies this entire VectorBase into a pre-sized Eigen Vector. More... | |
| virtual void | ScaleAndAddToVector (const T &scale, EigenPtr< VectorX< T >> vec) const |
Adds a scaled version of this vector to Eigen vector vec. More... | |
| VectorBase & | PlusEqScaled (const T &scale, const VectorBase< T > &rhs) |
Add in scaled vector rhs to this vector. More... | |
| VectorBase & | PlusEqScaled (const std::initializer_list< std::pair< T, const VectorBase< T > & >> &rhs_scale) |
| Add in multiple scaled vectors to this vector. More... | |
| VectorBase & | operator+= (const VectorBase< T > &rhs) |
Add in vector rhs to this vector. More... | |
| VectorBase & | operator-= (const VectorBase< T > &rhs) |
Subtract in vector rhs to this vector. More... | |
| virtual void | GetElementBounds (Eigen::VectorXd *lower, Eigen::VectorXd *upper) const |
| Get the bounds for the elements. More... | |
| VectorBase (const VectorBase &)=delete | |
| VectorBase & | operator= (const VectorBase &)=delete |
| VectorBase (VectorBase &&)=delete | |
| VectorBase & | operator= (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... | |
| void | ThrowOutOfRange (int index) const |
| void | ThrowMismatchedSize (int other_size) const |
| Subvector | ( | VectorBase< T > * | vector, |
| int | first_element, | ||
| int | num_elements | ||
| ) |
Constructs a subvector of vector that consists of num_elements starting at first_element.
| vector | The vector to slice. Must not be nullptr. Must remain valid for the lifetime of this object. |
|
finalvirtual |
Returns the number of elements in the vector.
Implementations should ensure this operation is O(1) and allocates no memory.
Implements VectorBase< T >.