Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
trax::Plug_Imp Class Reference
Inheritance diagram for trax::Plug_Imp:

Public Member Functions

 Plug_Imp (const Plug_Imp &plug)=delete
dclspc Plug_Imp (Plug_Imp &&plug) noexcept
dclspc Plug_Imp (PlugEnumerator &parent)
dclspc Plug_Imp (PlugEnumerator &parent, Plug_Imp &&plug)
Plug_Imp & operator= (Plug_Imp &)=delete
Plug_Imp & operator= (Plug_Imp &&plug)=delete
const char * TypeName () const noexcept override
const std::string & Reference (const std::string &name) const override
 Gets a reference that was set for this object by name.
IDType ID () const noexcept override
dclspc JackPlugged () const noexcept override
 Is this Plug already plugged into a jack?
dclspc bool IsCyclic () const noexcept override
dclspc const PlugTail () const override
 receives the tail (last element) of a Plug chain.
dclspc PlugTail () override
 receives the tail (last element) of a Plug chain.
dclspc JackJackOnPulse () noexcept override
 Get a Jack that triggers a pulse if the Plug receives a pulse.
dclspc const JackJackOnPulse () const noexcept override
 Get a Jack that triggers a pulse if the Plug receives a pulse.
dclspc PlugEnumeratorParent () const noexcept override
dclspc void Remove () noexcept
dclspc int CountJacks () const noexcept override
Public Member Functions inherited from trax::ObjectID_Imp< Plug >
const std::vector< char const * > & ReferenceNames (const std::string &namePart) const override
Public Member Functions inherited from trax::Identified< Plug >
 Identified (const Identified &)=delete
Identified & operator= (const Identified &)=delete
Public Member Functions inherited from trax::JackEnumerator
JackGetJack (int idx)
const JackGetJack (int idx) const

Protected Member Functions

dclspc void Pulse (bool bForewardToJack) noexcept override
 Triggers a pulse for the plug.
dclspc const Jack_GetJack (int idx) const override
Protected Member Functions inherited from trax::JackEnumerator
 JackEnumerator (const JackEnumerator &)=default
 JackEnumerator (JackEnumerator &&)=default
JackEnumerator & operator= (const JackEnumerator &)=default
JackEnumerator & operator= (JackEnumerator &&)=default

Friends

class Jack_Imp

Additional Inherited Members

Public Types inherited from trax::JackEnumerator
typedef JackEnumerator collection_type
typedef Jack value_type

Member Function Documentation

◆ _GetJack()

dclspc const Jack & trax::Plug_Imp::_GetJack ( int idx) const
overrideprotectedvirtual

Implements trax::JackEnumerator.

◆ CountJacks()

dclspc int trax::Plug_Imp::CountJacks ( ) const
overridevirtualnoexcept
Returns
The total number of jacks available through this interface.

Implements trax::JackEnumerator.

◆ ID()

IDType trax::Plug_Imp::ID ( ) const
inlineoverridevirtualnoexcept
Returns
the object's id.

Reimplemented from trax::ObjectID_Imp< Plug >.

◆ IsCyclic()

dclspc bool trax::Plug_Imp::IsCyclic ( ) const
overridevirtualnoexcept
Returns
true if it happens that the plug's jacks are connected in a cyclic manner, false otherwise.

Implements trax::Plug.

◆ JackOnPulse() [1/2]

dclspc const Jack & trax::Plug_Imp::JackOnPulse ( ) const
overridevirtualnoexcept

Get a Jack that triggers a pulse if the Plug receives a pulse.

Implements trax::Plug.

◆ JackOnPulse() [2/2]

dclspc Jack & trax::Plug_Imp::JackOnPulse ( )
overridevirtualnoexcept

Get a Jack that triggers a pulse if the Plug receives a pulse.

This can be used to cascade several Plugs to receive the pulse from one single Jack.

Implements trax::Plug.

◆ Parent()

dclspc PlugEnumerator & trax::Plug_Imp::Parent ( ) const
overridevirtualnoexcept
Returns
a pointer to the owner of this plug.

Every object that provides plugs will implement this interface.

Implements trax::Plug.

◆ Plugged()

dclspc Jack * trax::Plug_Imp::Plugged ( ) const
overridevirtualnoexcept

Is this Plug already plugged into a jack?

Returns
A pointer to the Jack this Plug is plugged to.

Implements trax::Plug.

◆ Pulse()

dclspc void trax::Plug_Imp::Pulse ( bool bForewardToJack)
overrideprotectedvirtualnoexcept

Triggers a pulse for the plug.

Parameters
bForewardToJacktrue if the pulse should be sent to a plug that's plugged in the plug's jack.

Reimplemented from trax::Plug.

Reimplemented in trax::Plug_Imp_ParentPointer< ParentType >.

◆ Reference()

const std::string & trax::Plug_Imp::Reference ( const std::string & name) const
inlineoverridevirtual

Gets a reference that was set for this object by name.

Parameters
nameName of the reference.
Returns
a reference string for additional data to the object.

Reimplemented from trax::ObjectID_Imp< Plug >.

◆ Remove()

dclspc void trax::Plug_Imp::Remove ( )
virtualnoexcept

Implements trax::Plug.

◆ Tail() [1/2]

dclspc const Plug & trax::Plug_Imp::Tail ( ) const
overridevirtual

receives the tail (last element) of a Plug chain.

Plugs provide themselves a Jack so they can get cascaded. The function receives the last element in this chain.

Returns
A Plug that is directly or indirectly inserted in this plug's jack and provides an empty Jack.
Exceptions
std::logic_errorif the connection happens to be cyclic, i.e., there is no empty jack.

Implements trax::Plug.

◆ Tail() [2/2]

dclspc Plug & trax::Plug_Imp::Tail ( )
overridevirtual

receives the tail (last element) of a Plug chain.

Plugs provide themselves a Jack so they can get cascaded. The function receives the last element in this chain.

Returns
A Plug that is directly or indirectly inserted in this plug's jack and provides an empty Jack.
Exceptions
std::logic_errorif the connection happens to be cyclic, i.e., there is no empty jack.

Implements trax::Plug.

◆ TypeName()

const char * trax::Plug_Imp::TypeName ( ) const
inlineoverridevirtualnoexcept
Returns
the name for the object type that implements this interface.

Implements trax::Plug.


The documentation for this class was generated from the following file:
  • C:/Trend/Development/Trax3/Code/trax/Plug.h