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.
-
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.