selectSuperClasses
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"
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.