summaryrefslogtreecommitdiff
path: root/src/model/element.rs
diff options
context:
space:
mode:
authorSébastien d'Herbais de Thun <sebastien.d.herbais@gmail.com>2023-04-04 19:21:25 +0200
committerGitHub <noreply@github.com>2023-04-04 19:21:25 +0200
commitf347ed4314e32383dc09ff234180e8ea6fef7b8b (patch)
treedba4296812a131e52da4eb0079fd0d240860d832 /src/model/element.rs
parent5b0297464efc131beb7be84fa7a02b9a8670b5dd (diff)
Improved figure numbering, labelling and referencing (#491)
Diffstat (limited to 'src/model/element.rs')
-rw-r--r--src/model/element.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/model/element.rs b/src/model/element.rs
index c6738582..4c825a20 100644
--- a/src/model/element.rs
+++ b/src/model/element.rs
@@ -63,6 +63,14 @@ impl ElemFunc {
(self.0.construct)(vm, args)
}
+ /// Whether the contained element has the given capability.
+ pub fn can<C>(&self) -> bool
+ where
+ C: ?Sized + 'static,
+ {
+ (self.0.vtable)(TypeId::of::<C>()).is_some()
+ }
+
/// Create a selector for elements of this function.
pub fn select(self) -> Selector {
Selector::Elem(self, None)