selectSuperClasses {methods} | R Documentation |
Super Classes (of Specific Kinds) of a Class
Description
Return superclasses of ClassDef
, possibly only non-virtual or
direct or simple ones.
These functions are designed to be fast, and consequently only work
with the contains
slot of the corresponding class definitions.
Usage
selectSuperClasses(Class, dropVirtual = FALSE, namesOnly = TRUE,
directOnly = TRUE, simpleOnly = directOnly,
where = topenv(parent.frame()))
.selectSuperClasses(ext, dropVirtual = FALSE, namesOnly = TRUE,
directOnly = TRUE, simpleOnly = directOnly)
Arguments
Class |
name of the class or (more efficiently) the class
definition object (see |
dropVirtual |
logical indicating if only non-virtual superclasses should be returned. |
namesOnly |
logical indicating if only a vector names instead of a named list class-extensions should be returned. |
directOnly |
logical indicating if only a direct super classes should be returned. |
simpleOnly |
logical indicating if only simple class extensions should be returned. |
where |
(only used when |
ext |
for |
Value
a character
vector (if namesOnly
is true, as per
default) or a list of class extensions (as the contains
slot in
the result of getClass
).
Note
The typical user level function is selectSuperClasses()
which calls .selectSuperClasses()
; i.e., the latter should only
be used for efficiency reasons by experienced useRs.
See Also
is
, getClass
; further, the more technical
class classRepresentation
documentation.
Examples
setClass("Root")
setClass("Base", contains = "Root", slots = c(length = "integer"))
setClass("A", contains = "Base", slots = c(x = "numeric"))
setClass("B", contains = "Base", slots = c(y = "character"))
setClass("C", contains = c("A", "B"))
extends("C") #--> "C" "A" "B" "Base" "Root"
selectSuperClasses("C") # "A" "B"
selectSuperClasses("C", directOnly=FALSE) # "A" "B" "Base" "Root"
selectSuperClasses("C", dropVirtual=TRUE, directOnly=FALSE)# ditto w/o "Root"