DelayedOp-class: DelayedOp objects

Description Usage Arguments Details Note See Also

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

1

Arguments

x

A DelayedSubset, DelayedAperm, or DelayedDimnames object.

Details

8 types of nodes are currently supported. Each type is a DelayedOp subclass:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  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 documentation built on March 25, 2021, 6:01 p.m.