]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/smobs.hh
Define derived_unsmob<class T> function
[lilypond.git] / lily / include / smobs.hh
index 2787750ec5b4b58e7393ba2ddbc9fd1df7e61307..138bf363469ded7281485af6996a98f49ca87a38 100644 (file)
@@ -234,6 +234,14 @@ public:
   }
 };
 
+// derived_unsmob includes a dynamic_cast:
+
+template <class T>
+inline T *derived_unsmob (SCM arg)
+{
+  return dynamic_cast<T *> (T::unsmob (arg));
+}
+
 // Simple smobs
 template <class Super>
 class Simple_smob : public Smob_base<Super> {