smgl 0.11.0
Structured Metadata Engine and Graph Objects Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
smgl::Output Class Referenceabstract

Generic output port interface. More...

#include <smgl/Ports.hpp>

Inheritance diagram for smgl::Output:
[legend]
Collaboration diagram for smgl::Output:
[legend]

Public Member Functions

virtual std::vector< ConnectiongetConnections () const =0
 
virtual std::size_t numConnections () const =0
 
- Public Member Functions inherited from smgl::Port
virtual bool update ()=0
 
virtual void notify (State s)=0
 
State state () const
 
void setState (State s)
 
void setParent (Node *p)
 
virtual Metadata serialize ()=0
 
virtual void deserialize (const Metadata &m)=0
 
- Public Member Functions inherited from smgl::UniquelyIdentifiable
auto uuid () const -> Uuid
 
void setUuid (const Uuid &uuid)
 

Protected Member Functions

 Output ()
 
 ~Output () override=default
 
virtual void connect (Input *ip)=0
 
virtual void disconnect (Input *ip)=0
 
- Protected Member Functions inherited from smgl::Port
 Port ()=default
 
 Port (State s)
 
virtual ~Port ()=default
 
- Protected Member Functions inherited from smgl::UniquelyIdentifiable
 UniquelyIdentifiable ()=default
 

Private Attributes

friend Input
 

Friends

void connect (Output &op, Input &ip)
 Connect an output port to an input port.
 
void disconnect (Output &op, Input &ip)
 Disconnect an output port and input port.
 

Additional Inherited Members

- Public Types inherited from smgl::Port
enum class  State { Idle , Waiting , Queued , Error }
 
- Protected Attributes inherited from smgl::Port
State state_ {State::Idle}
 
Nodeparent_ {nullptr}
 
- Protected Attributes inherited from smgl::UniquelyIdentifiable
Uuid uuid_ {Uuid::Uuid4()}
 

Detailed Description

Generic output port interface.

Definition at line 174 of file Ports.hpp.

Constructor & Destructor Documentation

◆ Output()

smgl::Output::Output ( )
protected

Default constructor

◆ ~Output()

smgl::Output::~Output ( )
overrideprotecteddefault

Default destructor

Member Function Documentation

◆ connect()

virtual void smgl::Output::connect ( Input ip)
protectedpure virtual

Connect to an input port

Implemented in smgl::OutputPort< T, Args >.

◆ disconnect()

virtual void smgl::Output::disconnect ( Input ip)
protectedpure virtual

Disconnect from an input port

Implemented in smgl::OutputPort< T, Args >.

◆ getConnections()

virtual std::vector< Connection > smgl::Output::getConnections ( ) const
pure virtual

Get a list of port connections

Implemented in smgl::OutputPort< T, Args >.

◆ numConnections()

virtual std::size_t smgl::Output::numConnections ( ) const
pure virtual

Get the number of port connections

Implemented in smgl::OutputPort< T, Args >.

Friends And Related Symbol Documentation

◆ connect

void connect ( Output op,
Input ip 
)
friend

Connect an output port to an input port.

Friend: smgl::connect

Exceptions
smgl::bad_connectionif port instances do not share underlying type T

◆ disconnect

void disconnect ( Output op,
Input ip 
)
friend

Disconnect an output port and input port.

Friend: smgl::disconnect

Does nothing if ports are not connected

Member Data Documentation

◆ Input

friend smgl::Output::Input
private

Friend: Generic Input port class

Definition at line 199 of file Ports.hpp.


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