| DelayedOp-class {DelayedArray} | R Documentation |
DelayedOp objects
Description
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.
Usage
is_noop(x)
Arguments
x |
A DelayedSubset, DelayedAperm, or DelayedSetDimnames object. |
Details
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.
Note
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.
See Also
DelayedOp concrete subclasses: DelayedSubset, DelayedAperm, DelayedUnaryIsoOpStack, DelayedUnaryIsoOpWithArgs, DelayedSubassign, DelayedSetDimnames, DelayedNaryIsoOp, and DelayedAbind.
-
DelayedArray objects.
-
showtreeto visualize the nodes and access the leaves in the tree of delayed operations carried by a DelayedArray object. -
simplifyto simplify the tree of delayed operations carried by a DelayedArray object.