| DelayedOp-class {DelayedArray} | R Documentation |
NOTE: This man page is about DelayedArray internals and is provided for developers and advanced users only.
In a DelayedArray object, the delayed operations are stored as a tree where the leaves are operands and the nodes are the operations. Each node in the tree is a DelayedOp derivative representing a particular delayed operation.
DelayedOp is a virtual class with 8 concrete subclasses. Each subclass provides a formal representation for a particular kind of delayed operation.
is_noop(x)
x |
A DelayedSubset, DelayedAperm, or DelayedSetDimnames object. |
8 types of nodes are currently supported. Each type is a DelayedOp subclass:
Node type Represented operation
------------------------------------------------------------------
DelayedOp (VIRTUAL)
------------------------------------------------------------------
* DelayedUnaryOp (VIRTUAL)
o DelayedSubset Multi-dimensional single bracket
subsetting.
o DelayedAperm Extended aperm() (can drop and/or
add ineffective dimensions).
o DelayedUnaryIsoOp (VIRTUAL) Unary op that preserves the
geometry.
- DelayedUnaryIsoOpStack Simple ops stacked together.
- DelayedUnaryIsoOpWithArgs One op with vector-like arguments
along the dimensions of the input.
- DelayedSubassign Multi-dimensional single bracket
subassignment.
- DelayedSetDimnames Set/replace the dimnames.
------------------------------------------------------------------
* DelayedNaryOp (VIRTUAL)
o DelayedNaryIsoOp N-ary op that preserves the
geometry.
o DelayedAbind abind()
------------------------------------------------------------------
All the nodes are array-like objects that must comply with the seed
contract i.e. they must support dim(), dimnames(), and
extract_array(). See ?extract_array for more
information about the seed contract.
is_noop() can only be called on a DelayedSubset, DelayedAperm,
or DelayedSetDimnames object at the moment, and will return TRUE
if the object represents a no-op.
The DelayedOp virtual class and its 8 concrete subclasses are used inside a DelayedArray object to represent delayed operations carried by the object. They're never exposed to the end user and are not intended to be manipulated directly.
DelayedOp concrete subclasses: DelayedSubset, DelayedAperm, DelayedUnaryIsoOpStack, DelayedUnaryIsoOpWithArgs, DelayedSubassign, DelayedSetDimnames, DelayedNaryIsoOp, and DelayedAbind.
DelayedArray objects.
showtree to visualize the nodes and access the
leaves in the tree of delayed operations carried by a
DelayedArray object.
simplify to simplify the tree of delayed
operations carried by a DelayedArray object.