Version: 9.15.0
YACS::ENGINE::InterceptorInputPort Class Reference

#include <ForEachLoop.hxx>

Inheritance diagram for YACS::ENGINE::InterceptorInputPort:
Collaboration diagram for YACS::ENGINE::InterceptorInputPort:

Private Member Functions

 InterceptorInputPort (const std::string &name, Node *node, TypeCode *type)
 
 InterceptorInputPort (const InterceptorInputPort &other, Node *newHelder)
 
void getAllRepresentants (std::set< InPort * > &repr) const
 
InputPortclone (Node *newHelder) const
 
void setRepr (AnySplitOutputPort *repr)
 

Private Attributes

AnySplitOutputPort_repr
 

Friends

class ForEachLoopGen
 
class SplitterNode
 

Additional Inherited Members

- Public Member Functions inherited from YACS::ENGINE::AnyInputPort
 AnyInputPort (const std::string &name, Node *node, TypeCode *type, bool canBeNull=false)
 
 AnyInputPort (const AnyInputPort &other, Node *newHelder)
 
virtual ~AnyInputPort ()
 
void exSaveInit ()
 Save the current data value for further reinitialization of the port. More...
 
void exRestoreInit ()
 Restore the saved data value to current data value. More...
 
AnygetValue () const
 
int getIntValue () const
 
void releaseData () override
 
void put (Any *data)
 
void * get () const
 
virtual std::string getAsString ()
 returns port value as a string that can be used in a GUI for example More...
 
virtual bool isEmpty ()
 
void put (const void *data)
 
std::string dump ()
 
virtual std::string typeName ()
 
- Public Member Functions inherited from YACS::ENGINE::InputPort
virtual ~InputPort ()
 
std::string getNameOfTypeOfCurrentInstance () const
 
virtual InputPortgetPublicRepresentant ()
 returns the final physical port behind 'this'. More...
 
virtual bool isIntermediate () const
 
virtual bool edIsManuallyInitialized () const
 Specifies if this port has been manually set by the call of InputPort::edInit. More...
 
bool edIsInitialized () const
 soon deprecated More...
 
template<class T >
void edInit (T value)
 
void edInit (Any *value)
 
void edInit (const std::string &impl, const void *value)
 Initialize the port with an object (value) coming from a world with implementation impl. More...
 
virtual void edRemoveManInit ()
 Removes eventually previous manual initialisation. More...
 
virtual void checkBasicConsistency () const
 Check basically that this port has one chance to be specified on time. It's a necessary condition not sufficient at all. More...
 
virtual void exInit (bool start)
 
virtual std::string getHumanRepr ()
 
virtual void setStringRef (std::string strRef)
 
bool canBeNull () const
 
- Public Member Functions inherited from YACS::ENGINE::DataFlowPort
TypeOfChannel getTypeOfChannel () const
 returns type of channel the port will use for data exchange on runtime : DATAFLOW or DATASTREAM. More...
 
virtual ~DataFlowPort ()
 
virtual std::string valToStr ()
 Gives a string representation of the data, for user interfaces. More...
 
virtual void valFromStr (std::string valstr)
 Allows to set data from a string representation used in user interface. More...
 
- Public Member Functions inherited from YACS::ENGINE::DataPort
TypeCodeedGetType () const
 
void edSetType (TypeCode *type)
 
std::string getName () const
 
void setName (std::string theName)
 
bool isDifferentTypeOf (const DataPort *other) const
 
- Public Member Functions inherited from YACS::ENGINE::Port
virtual ~Port ()
 
NodegetNode () const
 
int getNumId () const
 
void modified ()
 
- Public Member Functions inherited from YACS::ENGINE::InPort
virtual int edGetNumberOfLinks () const
 Returns number of physical backlinks NOT number of user backlinks. More...
 
virtual std::set< OutPort * > edSetOutPort () const
 Returns physical backlinks NOT user backlinks. More...
 
bool canSafelySqueezeMemory () const
 
bool isBackLinked () const
 
virtual ~InPort ()
 
- Static Public Member Functions inherited from YACS::ENGINE::DataPort
static DataPortisCrossingType (const std::vector< DataPort * > &historyOfLink)
 
- Static Public Attributes inherited from YACS::ENGINE::InputPort
static const char NAME [] ="InputPort"
 
- Static Public Attributes inherited from YACS::ENGINE::DataFlowPort
static const char NAME [] ="DataFlowPort"
 
- Static Public Attributes inherited from YACS::ENGINE::DataPort
static const char NAME [] ="DataPort"
 
- Protected Member Functions inherited from YACS::ENGINE::AnyInputPort
void releaseDataUnsafe ()
 
- Protected Member Functions inherited from YACS::ENGINE::InputPort
 InputPort (const InputPort &other, Node *newHelder)
 
 InputPort (const std::string &name, Node *node, TypeCode *type, bool canBeNull=false)
 
void releaseDataUnsafe ()
 
- Protected Member Functions inherited from YACS::ENGINE::DataFlowPort
 DataFlowPort (const DataFlowPort &other, Node *newHelder)
 
 DataFlowPort (const std::string &name, Node *node, TypeCode *type)
 
- Protected Member Functions inherited from YACS::ENGINE::DataPort
virtual ~DataPort ()
 
 DataPort (const DataPort &other, Node *newHelder)
 
 DataPort (const std::string &name, Node *node, TypeCode *type)
 
- Protected Member Functions inherited from YACS::ENGINE::Port
 Port (Node *node)
 
 Port (const Port &other, Node *newHelder)
 
- Protected Member Functions inherited from YACS::ENGINE::InPort
 InPort (const InPort &other, Node *newHelder)
 
 InPort (const std::string &name, Node *node, TypeCode *type)
 
void edRemoveAllLinksLinkedWithMe ()
 
virtual void edNotifyReferencedBy (OutPort *fromPort, bool isLoopProof=true)
 
virtual void edNotifyDereferencedBy (OutPort *fromPort)
 
- Protected Attributes inherited from YACS::ENGINE::AnyInputPort
Any_value
 
- Protected Attributes inherited from YACS::ENGINE::InputPort
Any_initValue
 
std::string _stringRef
 
bool _canBeNull
 
- Protected Attributes inherited from YACS::ENGINE::DataPort
TypeCode_type
 
std::string _name
 
- Protected Attributes inherited from YACS::ENGINE::Port
Node_node
 
int _id
 
- Protected Attributes inherited from YACS::ENGINE::InPort
std::set< std::pair< OutPort *, bool > > _backLinks
 
- Static Protected Attributes inherited from YACS::ENGINE::Port
static int _total = 0
 
static const char NAME [] ="Port"
 

Detailed Description

Definition at line 40 of file ForEachLoop.hxx.

Constructor & Destructor Documentation

◆ InterceptorInputPort() [1/2]

InterceptorInputPort::InterceptorInputPort ( const std::string &  name,
Node node,
TypeCode type 
)
private

Definition at line 59 of file ForEachLoop.cxx.

59  :AnyInputPort(name,node,type),
60  DataPort(name,node,type),Port(node),
61  _repr(0)
62 {
63 }
AnyInputPort(const std::string &name, Node *node, TypeCode *type, bool canBeNull=false)
DataPort(const DataPort &other, Node *newHelder)
Definition: DataPort.cxx:41
Port(Node *node)
Definition: Port.cxx:34

◆ InterceptorInputPort() [2/2]

InterceptorInputPort::InterceptorInputPort ( const InterceptorInputPort other,
Node newHelder 
)
private

Definition at line 65 of file ForEachLoop.cxx.

65  :AnyInputPort(other,newHelder),DataPort(other,newHelder),
66  Port(other,newHelder),
67  _repr(0)
68 {
69 }

Member Function Documentation

◆ clone()

InputPort * InterceptorInputPort::clone ( Node newHelder) const
privatevirtual

Reimplemented from YACS::ENGINE::AnyInputPort.

Definition at line 78 of file ForEachLoop.cxx.

79 {
80  return new InterceptorInputPort(*this,newHelder);
81 }
friend class InterceptorInputPort
Definition: InPort.hxx:61

References YACS::ENGINE::InPort::InterceptorInputPort.

◆ getAllRepresentants()

void InterceptorInputPort::getAllRepresentants ( std::set< InPort * > &  repr) const
privatevirtual

Reimplemented from YACS::ENGINE::InPort.

Definition at line 71 of file ForEachLoop.cxx.

72 {
73  set<InPort *> ports=_repr->edSetInPort();
74  for(set<InPort *>::iterator iter=ports.begin();iter!=ports.end();iter++)
75  (*iter)->getAllRepresentants(repr);
76 }
std::set< InPort * > edSetInPort() const
Definition: OutputPort.cxx:239

References _repr, and YACS::ENGINE::OutputPort::edSetInPort().

◆ setRepr()

void InterceptorInputPort::setRepr ( AnySplitOutputPort repr)
private

Definition at line 83 of file ForEachLoop.cxx.

84 {
85  _repr=repr;
86 }

References _repr.

Referenced by YACS::ENGINE::ForEachLoopGen::buildDelegateOf(), and YACS::ENGINE::ForEachLoopGen::ForEachLoopGen().

Friends And Related Function Documentation

◆ ForEachLoopGen

friend class ForEachLoopGen
friend

Definition at line 42 of file ForEachLoop.hxx.

◆ SplitterNode

friend class SplitterNode
friend

Definition at line 43 of file ForEachLoop.hxx.

Member Data Documentation

◆ _repr

AnySplitOutputPort* YACS::ENGINE::InterceptorInputPort::_repr
private

Definition at line 45 of file ForEachLoop.hxx.

Referenced by getAllRepresentants(), and setRepr().


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