Drake
SystemOutput< T > Class Template Referenceabstract

An abstract base class template for the values of the output ports of a System. More...

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

Inheritance diagram for SystemOutput< T >:
[legend]

Public Member Functions

 SystemOutput ()
 
virtual ~SystemOutput ()
 
virtual int get_num_ports () const =0
 
virtual OutputPortValueget_mutable_port_value (int index)=0
 
virtual const OutputPortValueget_port_value (int index) const =0
 
std::unique_ptr< SystemOutput< T > > Clone () const
 Returns a type-preserving clone of this SystemOutput using the NVI idiom. More...
 
const AbstractValueget_data (int index) const
 Returns the abstract value in the port at index. More...
 
const BasicVector< T > * get_vector_data (int index) const
 Returns the vector value in the port at index. More...
 
AbstractValueGetMutableData (int index)
 Returns a pointer to the data inside the port at index, and updates the version so that Contexts depending on that OutputPortValue know to invalidate their caches. More...
 
BasicVector< T > * GetMutableVectorData (int index)
 Returns a pointer to the data inside the port at index, and updates the version so that Contexts depending on that OutputPortValue know to invalidate their caches. More...
 
Does not allow copy, move, or assignment
 SystemOutput (const SystemOutput &)=delete
 
SystemOutputoperator= (const SystemOutput &)=delete
 
 SystemOutput (SystemOutput &&)=delete
 
SystemOutputoperator= (SystemOutput &&)=delete
 

Protected Member Functions

virtual SystemOutput< T > * DoClone () const =0
 The NVI implementation of Clone(). More...
 

Detailed Description

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

An abstract base class template for the values of the output ports of a System.

Template Parameters
TThe type of the output data. Must be a valid Eigen scalar.

Constructor & Destructor Documentation

SystemOutput ( const SystemOutput< T > &  )
delete
SystemOutput ( SystemOutput< T > &&  )
delete
SystemOutput ( )
inline
virtual ~SystemOutput ( )
inlinevirtual

Member Function Documentation

std::unique_ptr<SystemOutput<T> > Clone ( ) const
inline

Returns a type-preserving clone of this SystemOutput using the NVI idiom.

virtual SystemOutput<T>* DoClone ( ) const
protectedpure virtual

The NVI implementation of Clone().

Implemented in LeafSystemOutput< T >, LeafSystemOutput< double >, and DiagramOutput< T >.

const AbstractValue* get_data ( int  index) const
inline

Returns the abstract value in the port at index.

virtual OutputPortValue* get_mutable_port_value ( int  index)
pure virtual

Implemented in LeafSystemOutput< T >, LeafSystemOutput< double >, and DiagramOutput< T >.

Here is the caller graph for this function:

virtual int get_num_ports ( ) const
pure virtual

Implemented in LeafSystemOutput< T >, LeafSystemOutput< double >, and DiagramOutput< T >.

Here is the caller graph for this function:

virtual const OutputPortValue& get_port_value ( int  index) const
pure virtual
const BasicVector<T>* get_vector_data ( int  index) const
inline

Returns the vector value in the port at index.

Throws std::bad_cast if the port is not vector-valued.

Here is the caller graph for this function:

AbstractValue* GetMutableData ( int  index)
inline

Returns a pointer to the data inside the port at index, and updates the version so that Contexts depending on that OutputPortValue know to invalidate their caches.

Callers MUST NOT write on the returned pointer if there is any possibility this OutputPortValue has been accessed since the last time GetMutableVectorData was called.

Here is the caller graph for this function:

BasicVector<T>* GetMutableVectorData ( int  index)
inline

Returns a pointer to the data inside the port at index, and updates the version so that Contexts depending on that OutputPortValue know to invalidate their caches.

Callers MUST NOT write on the returned pointer if there is any possibility this OutputPortValue has been accessed since the last time GetMutableVectorData was called.

Throws std::bad_cast if this is not a vector-valued port.

Here is the caller graph for this function:

SystemOutput& operator= ( SystemOutput< T > &&  )
delete
SystemOutput& operator= ( const SystemOutput< T > &  )
delete

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