Simo 0.0.1
Loading...
Searching...
No Matches
Simo::Ports::BidirectionalPortTyped< OutPayload, InPayload > Class Template Reference

#include <Port.h>

Inheritance diagram for Simo::Ports::BidirectionalPortTyped< OutPayload, InPayload >:
Simo::Port

Public Member Functions

bool connect (Port *other) override
OutPort< OutPayload >::SEND_OUTCOME send_out (OutPayload &&payload)
 Push a payload on the out port.
void clear_out ()
void clear_in ()
InPayload && receive_in ()
 Extract the payload from the in port.
InPayload * peek_in ()
 Peek the payload from the in port.
Public Member Functions inherited from Simo::Port
template<typename Self>
TypeId get_type_id (this Self &_)
 Utility to the get type of class. Need the type at compile time.
std::string_view name () const
void name (const std::string_view name)

Protected Attributes

OutPort< OutPayload > out_port
InPort< InPayload > in_port
Protected Attributes inherited from Simo::Port
std::string name_

Additional Inherited Members

Public Types inherited from Simo::Port
using TypeId = boost::typeindex::type_index

Detailed Description

template<typename OutPayload, typename InPayload>
class Simo::Ports::BidirectionalPortTyped< OutPayload, InPayload >

Port that can send and receive payloads on separate channels. It can be connected to a BidirectionalPortTyped<InPayload,OutPayload> (note the types are inverted).

Member Function Documentation

◆ connect()

template<typename OutPayload, typename InPayload>
bool Simo::Ports::BidirectionalPortTyped< OutPayload, InPayload >::connect ( Port * other)
overridevirtual

Implements Simo::Port.


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