DelayedOp-class {DelayedArray} | R Documentation

## DelayedOp objects

### Description

In a DelayedArray object, the delayed operations are stored as a tree of DelayedOp objects. Each node in this tree is a DelayedOp object that represents a delayed operation.

DelayedOp objects are used inside DelayedArray objects and are not intended to be manipulated directly by the end user.

`showtree` and `simplify` can be used to visualize, inspect, and simplify this tree.

### Usage

    is_noop(x)

### Arguments

`x` | A DelayedSubset, DelayedAperm, or DelayedDimnames 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.
          - DelayedDimnames            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 DelayedDimnames 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 for internal use only and never exposed to the end user.

### See Also

- DelayedArray objects.

- `showtree` to visualize and access the leaves of a tree of delayed operations carried by a DelayedArray object.

- `simplify` to simplify the tree of delayed operations carried by a DelayedArray object.

- `extract_array`.

[Package DelayedArray version 0.16.3 Index]