index-arithmetic {slider}R Documentation

Index arithmetic

Description

slider_plus() and slider_minus() are developer functions used to register special double dispatch methods to control how .before and .after are subtracted from and added to .i. These allow developers to overcome some of the restrictions around + and - when custom S3 types are involved. These should only be used by package authors creating new index types.

These generics are a bit special. They work similarly to vctrs::vec_ptype2() in that they are double dispatch methods that dispatch off the types of both x and y. To write an S3 method for these generics, write and export an S3 method of the form:

slider_plus.x_class.y_class <- function(x, y) {
  # My method
}

Inheritance is not considered in the method lookup, and you cannot use NextMethod() from within your method.

Usage

slider_plus(x, y)

slider_minus(x, y)

Arguments

x, y

⁠[vector]⁠

Two vectors to add or subtract.

x will always be the index, .i.

For slider_plus(), y will be .after.

For slider_minus(), y will be .before.

Value

The result should always be the same type and size as x.

Examples

slider_plus(1, 2)
slider_minus(1, 2)

[Package slider version 0.3.2 Index]