S7_inherits()returnsTRUEorFALSE.check_is_S7()throws an error ifxisn't the specifiedclass.
Usage
S7_inherits(x, class = NULL)
check_is_S7(x, class = NULL, arg = deparse(substitute(x)))Value
S7_inherits()returns a singleTRUEorFALSE.check_is_S7()returns nothing; it's called for its side-effects.
Note
Starting with R 4.3.0, base::inherits() can accept an S7 class as
the second argument, supporting usage like inherits(x, Foo).
Examples
Foo1 <- new_class("Foo1")
Foo2 <- new_class("Foo2")
S7_inherits(Foo1(), Foo1)
#> [1] TRUE
check_is_S7(Foo1())
check_is_S7(Foo1(), Foo1)
S7_inherits(Foo1(), Foo2)
#> [1] FALSE
try(check_is_S7(Foo1(), Foo2))
#> Error : `Foo1()` must be a <Foo2>, not a <Foo1>
if (getRversion() >= "4.3.0")
inherits(Foo1(), Foo1)
#> [1] TRUE