A PortBase is base class for System ports; users will typically use the InputPort<T> or OutputPort<T> types, not this base class.
#include <src/maliput/drake/systems/framework/port_base.h>
|
| PortBase (const char *kind_string, internal::SystemMessageInterface *owning_system, internal::SystemId owning_system_id, std::string name, int index, DependencyTicket ticket, PortDataType data_type, int size) |
| Provides derived classes the ability to set the base class members at construction. More...
|
|
int | get_int_index () const |
| Returns the index of this port within the owning System (i.e., an InputPortIndex or OutputPortIndex, but as a bare integer). More...
|
|
internal::SystemMessageInterface & | get_mutable_system_interface () |
| Returns get_system_interface(), but without the const. More...
|
|
void | ValidateSystemId (internal::SystemId id) const |
| (Internal use only) Checks whether the given id (nominally obtained from a Context passed to this port) was created for the system that owns this port. More...
|
|
void | ThrowValidateContextMismatch () const |
| (Internal use only) Throws std::exception with a message that the sanity check(s) related to ValidateContext have failed. More...
|
|
template<typename ValueType > |
const ValueType & | PortEvalCast (const AbstractValue &abstract) const |
| Pull a value of a given type from an abstract value or issue a nice message if the type is not correct. More...
|
|
template<typename ValueType , typename T > |
const ValueType & | PortEvalCast (const BasicVector< T > &basic) const |
| Downcast a basic vector to a more specific subclass (e.g., as generated by //tools/vector_gen) or issue a nice message if the type is not correct. More...
|
|
template<typename ValueType > |
const ValueType & | ThrowBadCast (const AbstractValue &abstract) const |
| Reports that the user provided a bad ValueType argument to Eval. More...
|
|
template<typename ValueType , typename T > |
const ValueType & | ThrowBadCast (const BasicVector< T > &basic) const |
| Reports that the user provided a bad ValueType argument to Eval. More...
|
|
void | ThrowBadCast (const std::string &value_typename, const std::string &eval_typename) const |
| Reports that the user provided a bad ValueType argument to Eval. More...
|
|
◆ ~PortBase()
◆ PortBase()
Provides derived classes the ability to set the base class members at construction.
- Parameters
-
kind_string | Either "Input" or "Output", depending on the kind of subclass. |
owning_system | The System that owns this port. |
owning_system_id | The ID of owning_system. |
name | A name for the port. Port names should be non-empty and unique within a single System. |
index | The index to be assigned to this port. Input ports and output ports each have their own pool of indices (InputPortIndex and OutputPortIndex); this is just that TypeSafeIndex passed as a bare int. |
ticket | The DependencyTicket to be assigned to this port. |
data_type | Whether the port described is vector- or abstract-valued. |
size | If the port described is vector-valued, the number of elements. Ignored for abstract-valued ports. |
◆ get_data_type()
Returns the port data type.
◆ get_int_index()
int get_int_index |
( |
| ) |
const |
|
protected |
Returns the index of this port within the owning System (i.e., an InputPortIndex or OutputPortIndex, but as a bare integer).
For a Diagram, this will be the index within the Diagram, not the index within the LeafSystem whose output port was forwarded.
◆ get_mutable_system_interface()
◆ get_name()
const std::string& get_name |
( |
| ) |
const |
◆ get_system_interface()
◆ GetFullDescription()
std::string GetFullDescription |
( |
| ) |
const |
Returns a verbose human-readable description of port.
This is useful for error messages or debugging.
◆ PortEvalCast() [1/2]
const ValueType & PortEvalCast |
( |
const AbstractValue & |
abstract | ) |
const |
|
protected |
Pull a value of a given type from an abstract value or issue a nice message if the type is not correct.
◆ PortEvalCast() [2/2]
const ValueType & PortEvalCast |
( |
const BasicVector< T > & |
basic | ) |
const |
|
protected |
Downcast a basic vector to a more specific subclass (e.g., as generated by //tools/vector_gen) or issue a nice message if the type is not correct.
◆ size()
Returns the fixed size expected for a vector-valued port.
Not meaningful for abstract-valued ports.
◆ ThrowBadCast() [1/3]
const ValueType& ThrowBadCast |
( |
const AbstractValue & |
abstract | ) |
const |
|
protected |
Reports that the user provided a bad ValueType argument to Eval.
◆ ThrowBadCast() [2/3]
const ValueType& ThrowBadCast |
( |
const BasicVector< T > & |
basic | ) |
const |
|
protected |
Reports that the user provided a bad ValueType argument to Eval.
◆ ThrowBadCast() [3/3]
void ThrowBadCast |
( |
const std::string & |
value_typename, |
|
|
const std::string & |
eval_typename |
|
) |
| const |
|
protected |
Reports that the user provided a bad ValueType argument to Eval.
The value_typename is the type of the port's current value; the eval_typename is the type the user asked for.
◆ ThrowValidateContextMismatch()
void ThrowValidateContextMismatch |
( |
| ) |
const |
|
protected |
(Internal use only) Throws std::exception with a message that the sanity check(s) related to ValidateContext have failed.
◆ ticket()
(Advanced.) Returns the DependencyTicket for this port within the owning System.
◆ ValidateSystemId()
(Internal use only) Checks whether the given id (nominally obtained from a Context passed to this port) was created for the system that owns this port.
This is similar in spirit to SystemBase::ValidateContext, but ports cannot use SystemBase.
- Note
- This method is sufficiently fast for performance sensitive code.
The documentation for this class was generated from the following files: