Package rxpy :: Package graph :: Module support :: Class BaseSplitNode
[hide private]
[frames] | no frames]

Class BaseSplitNode

source code


Base class for any node that includes a "tee".

Note that a continuation node is added via concatenate. In other words, when used within a Sequence, this node will, in addition to providing a branch, also connect directly to the following node. So only "extra" branches need to be provided directly by subclasses.

To rejoin the branch, use Merge().

The lazy flag controls the position of the following node; if False the node is appended to the list of child nodes, otherwise it is inserted into the first position. This implies that evaluation should prefer children in the order given.

Instance Methods [hide private]
 
__init__(self, lazy=False)
Subclasses should pay attention to the relationship between constructor kargs and attributes assumed in .clone.
source code
 
concatenate(self, next)
The given node is the next node in the sequence.
source code

Inherited from BaseNode: __repr__, __str__, clone, consumer, deep_eq, size, start, visit

Inherited from BaseNode (private): _kargs, _node_eq

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, lazy=False)
(Constructor)

source code 
Subclasses should pay attention to the relationship between constructor kargs and attributes assumed in .clone.
Overrides: object.__init__
(inherited documentation)

concatenate(self, next)

source code 

The given node is the next node in the sequence.

This method is only called on complex nodes after "initial node assembly" is complete (complex nodes are assembled, then connected). It is also only called once.

Overrides: BaseNode.concatenate
(inherited documentation)