]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/small-smobs.hh
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / include / small-smobs.hh
index fa63af9a90057672fb18c86df2c17c55dcad7919..07fd4ef341230a0b996b4dd26af402dccbd75b53 100644 (file)
 template <class Super>
 class Smob1 : public Smob_base<Super>
 {
-  Smob1 () { } // private constructor: objects don't exist, only
-               // "pointers" to them
+  Smob1 (); // Do not define!  Not constructible!
+  Smob1 (const Smob1 &); // Do not define!  Not copyable!
 public:
   SCM self_scm () const { return SCM_PACK (this); }
   SCM & scm1 () const { return *SCM_SMOB_OBJECT_LOC (self_scm ()); }
   static SCM make_smob (SCM arg1 = SCM_UNDEFINED) {
     SCM_RETURN_NEWSMOB (Smob_base<Super>::smob_tag (), SCM_UNPACK (arg1));
   }
-  SCM mark_smob () { return scm1 (); };
+  SCM mark_smob () const { return scm1 (); };
   static Super *unchecked_unsmob (SCM s) {
     return reinterpret_cast<Super *> (SCM_UNPACK (s));
   }
@@ -41,8 +41,8 @@ public:
 template <class Super>
 class Smob2 : public Smob_base<Super>
 {
-  Smob2 () { } // private constructor: objects don't exist, only
-               // "pointers" to them
+  Smob2 (); // Do not define!  Not constructible!
+  Smob2 (const Smob2 &); // Do not define!  Not copyable!
 public:
   SCM self_scm () const { return SCM_PACK (this); }
   SCM & scm1 () const { return *SCM_SMOB_OBJECT_LOC (self_scm ()); }
@@ -52,7 +52,7 @@ public:
                          SCM_UNPACK (arg1),
                          SCM_UNPACK (arg2));
   }
-  SCM mark_smob ()
+  SCM mark_smob () const
   {
     scm_gc_mark (scm2 ());
     return scm1 ();
@@ -65,8 +65,8 @@ public:
 template <class Super>
 class Smob3 : public Smob_base<Super>
 {
-  Smob3 () { } // private constructor: objects don't exist, only
-               // "pointers" to them
+  Smob3 (); // Do not define!  Not constructible!
+  Smob3 (const Smob3 &); // Do not define!  Not copyable!
 public:
   SCM self_scm () const { return SCM_PACK (this); }
   SCM & scm1 () const { return *SCM_SMOB_OBJECT_LOC (self_scm ()); }
@@ -80,7 +80,7 @@ public:
                          SCM_UNPACK (arg2),
                          SCM_UNPACK (arg3));
   }
-  static SCM mark_smob (SCM s)
+  SCM mark_smob () const
   {
     scm_gc_mark (scm3 ());
     scm_gc_mark (scm2 ());