Version: 8.3.0
YACS::ENGINE::AnySplitOutputPort Class Reference

#include <ForEachLoop.hxx>

Inheritance diagram for YACS::ENGINE::AnySplitOutputPort:
Collaboration diagram for YACS::ENGINE::AnySplitOutputPort:

Private Member Functions

bool decrRef ()
 
void incrRef () const
 
 AnySplitOutputPort (const std::string &name, Node *node, TypeCode *type)
 
 AnySplitOutputPort (const AnySplitOutputPort &other, Node *newHelder)
 
bool addInPort (InPort *inPort) throw (Exception)
 
void getAllRepresented (std::set< OutPort * > &represented) const
 
int removeInPort (InPort *inPort, bool forward) throw (Exception)
 
void addRepr (OutPort *repr, InterceptorInputPort *intercptr)
 
OutPortgetRepr () const
 
OutputPortclone (Node *newHelder) const
 

Private Attributes

OutPort_repr
 
InterceptorInputPort_intercptr
 
unsigned int _cnt
 

Friends

class ForEachLoop
 
class SplitterNode
 

Additional Inherited Members

- Public Member Functions inherited from YACS::ENGINE::OutputPort
virtual ~OutputPort ()
 
std::set< InPort * > edSetInPort () const
 
bool isAlreadyLinkedWith (InPort *withp) const
 
bool isAlreadyInSet (InputPort *inputPort) const
 
bool isConnected () const
 
std::string getNameOfTypeOfCurrentInstance () const
 
int removeInPort (InPort *inPort, bool forward) throw (Exception)
 
virtual bool edAddInputPort (InputPort *phyPort) throw (Exception)
 
virtual bool edAddInPropertyPort (InPropertyPort *phyPort) throw (Exception)
 
virtual int edRemoveInputPort (InputPort *inputPort, bool forward) throw (Exception)
 
bool addInPort (InPort *inPort) throw (Exception)
 
void edRemoveAllLinksLinkedWithMe () throw (Exception)
 
virtual void exInit ()
 
virtual void checkBasicConsistency () const throw (Exception)
 Check validity of output port. Nothing on base class. More...
 
virtual std::string dump ()
 
virtual void put (const void *data) throw (ConversionException)
 
virtual std::string typeName ()
 
- Static Public Member Functions inherited from YACS::ENGINE::DataPort
static DataPortisCrossingType (const std::vector< DataPort * > &historyOfLink)
 
- Static Public Attributes inherited from YACS::ENGINE::OutputPort
static const char NAME [] ="OutputPort"
 
- Protected Member Functions inherited from YACS::ENGINE::OutputPort
 OutputPort (const OutputPort &other, Node *newHelder)
 
 OutputPort (const std::string &name, Node *node, TypeCode *type)
 
const std::set< InputPort * > & getSetOfPhyLinks () const
 Returns physical links linked to this. Contrary to edSetInPort that returns semantic links. More...
 
- Protected Attributes inherited from YACS::ENGINE::OutputPort
std::set< InputPort * > _setOfInputPort
 
- Static Protected Attributes inherited from YACS::ENGINE::Port
static int _total = 0
 
static const char NAME [] ="Port"
 

Detailed Description

Definition at line 54 of file ForEachLoop.hxx.

Constructor & Destructor Documentation

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

Definition at line 93 of file ForEachLoop.cxx.

Referenced by clone().

93  :OutputPort(name,node,type),
94  DataPort(name,node,type),Port(node),
95  _repr(0),_intercptr(0),_cnt(1)
96 {
97 }
AnySplitOutputPort::AnySplitOutputPort ( const AnySplitOutputPort other,
Node newHelder 
)
private

Definition at line 99 of file ForEachLoop.cxx.

99  :OutputPort(other,newHelder),
100  DataPort(other,newHelder),
101  Port(other,newHelder),
102  _repr(0),_intercptr(0),_cnt(1)
103 {
104 }

Member Function Documentation

bool AnySplitOutputPort::addInPort ( InPort inPort) throw (Exception)
privatevirtual

Implements YACS::ENGINE::OutPort.

Definition at line 106 of file ForEachLoop.cxx.

References YACS::ENGINE::OutputPort::addInPort(), and PMMLBasicsTestLauncher::ret.

107 {
108  bool ret=OutputPort::addInPort(inPort);
109  if(_repr)
111  return ret;
112 }
void AnySplitOutputPort::addRepr ( OutPort repr,
InterceptorInputPort intercptr 
)
private

Definition at line 131 of file ForEachLoop.cxx.

References _intercptr, and _repr.

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

132 {
133  _repr=repr;
134  _intercptr=intercptr;
135 }
OutputPort * AnySplitOutputPort::clone ( Node newHelder) const
privatevirtual

Implements YACS::ENGINE::OutputPort.

Definition at line 137 of file ForEachLoop.cxx.

References AnySplitOutputPort().

138 {
139  return new AnySplitOutputPort(*this,newHelder);
140 }
bool AnySplitOutputPort::decrRef ( )
private

Definition at line 83 of file ForEachLoop.cxx.

References _cnt.

84 {
85  return (--_cnt==0);
86 }
void AnySplitOutputPort::getAllRepresented ( std::set< OutPort * > &  represented) const
privatevirtual

Reimplemented from YACS::ENGINE::OutPort.

Definition at line 114 of file ForEachLoop.cxx.

References _repr, and YACS::ENGINE::OutPort::getAllRepresented().

115 {
116  if(!_repr)
117  OutPort::getAllRepresented(represented);
118  else
119  _repr->getAllRepresented(represented);
120 }
OutPort* YACS::ENGINE::AnySplitOutputPort::getRepr ( ) const
inlineprivate

Definition at line 71 of file ForEachLoop.hxx.

References _repr.

71 { return _repr; }
void AnySplitOutputPort::incrRef ( ) const
private

Definition at line 88 of file ForEachLoop.cxx.

References _cnt.

89 {
90  _cnt++;
91 }
int AnySplitOutputPort::removeInPort ( InPort inPort,
bool  forward 
) throw (Exception)
privatevirtual

Implements YACS::ENGINE::OutPort.

Definition at line 122 of file ForEachLoop.cxx.

References YACS::ENGINE::OutputPort::removeInPort(), and PMMLBasicsTestLauncher::ret.

123 {
124  bool ret=OutputPort::removeInPort(inPort,forward);
125  if(_repr)
126  if(_setOfInputPort.empty())
127  _repr->removeInPort(_intercptr,forward);
128  return ret;
129 }

Friends And Related Function Documentation

friend class ForEachLoop
friend

Definition at line 56 of file ForEachLoop.hxx.

friend class SplitterNode
friend

Definition at line 57 of file ForEachLoop.hxx.

Member Data Documentation

unsigned int YACS::ENGINE::AnySplitOutputPort::_cnt
mutableprivate

Definition at line 61 of file ForEachLoop.hxx.

Referenced by decrRef(), and incrRef().

InterceptorInputPort* YACS::ENGINE::AnySplitOutputPort::_intercptr
private

Definition at line 60 of file ForEachLoop.hxx.

Referenced by addRepr().

OutPort* YACS::ENGINE::AnySplitOutputPort::_repr
private

Definition at line 59 of file ForEachLoop.hxx.

Referenced by addRepr(), getAllRepresented(), and getRepr().


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