From 77cd92ff6a0547403b3a524b5c4ec95a8d1cbdd9 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sat, 28 Apr 2012 15:23:08 +0200 Subject: [PATCH] Don't use virtual base classes without apparent reason Virtual base classes are a tool for joining the representations of common ancestors in a class lattice. They come at a cost in computational, conceptual, and usability complexity. I can't see the purpose for the instances of virtual inheritance in LilyPond (without multiple inheritance, there can't be much of an effect). --- lily/include/engraver-group.hh | 2 +- lily/include/global-context.hh | 2 +- lily/include/performer-group.hh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lily/include/engraver-group.hh b/lily/include/engraver-group.hh index 52d931b523..5738b8a9f2 100644 --- a/lily/include/engraver-group.hh +++ b/lily/include/engraver-group.hh @@ -23,7 +23,7 @@ #include "engraver.hh" #include "translator-group.hh" -class Engraver_group : public virtual Translator_group +class Engraver_group : public Translator_group { protected: vector announce_infos_; diff --git a/lily/include/global-context.hh b/lily/include/global-context.hh index b499185911..079162d272 100644 --- a/lily/include/global-context.hh +++ b/lily/include/global-context.hh @@ -23,7 +23,7 @@ #include "context.hh" #include "pqueue.hh" -class Global_context : public virtual Context +class Global_context : public Context { PQueue extra_mom_pq_; Output_def *output_def_; diff --git a/lily/include/performer-group.hh b/lily/include/performer-group.hh index c2ee2ca159..4316d8bb73 100644 --- a/lily/include/performer-group.hh +++ b/lily/include/performer-group.hh @@ -26,7 +26,7 @@ typedef void (Performer:: *Performer_method) (void); -class Performer_group : public virtual Translator_group +class Performer_group : public Translator_group { public: VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Performer_group); -- 2.39.2