Reviewers: ,

Description:
... in preparation for deriving grob interface classes
(e.g. Accidental_interface) from Grob without risking unintentional
instantiation anywhere.

Please review this at https://codereview.appspot.com/260810043/

Affected files (+5, -9 lines):
  M lily/grob.cc
  M lily/include/grob.hh


Index: lily/grob.cc
diff --git a/lily/grob.cc b/lily/grob.cc
index f7bf31f2868db17937bfa33d1a64b4d35d2c9602..ab1495c8104fed10f8eca79b5f36c8de9d33d4dc 100644
--- a/lily/grob.cc
+++ b/lily/grob.cc
@@ -41,12 +41,6 @@
 #include "lily-imports.hh"


-Grob *
-Grob::clone () const
-{
-  return new Grob (*this);
-}
-
 Grob::Grob (SCM basicprops)
 {

Index: lily/include/grob.hh
diff --git a/lily/include/grob.hh b/lily/include/grob.hh
index db51e02e73cb0a0c5ec6ce1f4e91d56d5bc69bbe..f964840581aad29e88a19fee697738e430da137f 100644
--- a/lily/include/grob.hh
+++ b/lily/include/grob.hh
@@ -56,6 +56,10 @@ protected:
   */
   SCM interfaces_;

+  /* life & death */
+  Grob (SCM basic_props);
+  Grob (Grob const &);
+
   void substitute_object_links (SCM, SCM);
   Real get_offset (Axis a) const;
   SCM try_callback (SCM, SCM);
@@ -93,9 +97,7 @@ public:
   SCM interfaces () const { return interfaces_; }

   /* life & death */
-  Grob (SCM basic_props);
-  Grob (Grob const &);
-  virtual Grob *clone () const;
+  virtual Grob *clone () const = 0;

   /* forced death */
   void suicide ();



_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to