Verovio
Source code documentation
refrain.h
1 // Name: refrain.h
3 // Author: Simon Waloschek
4 // Copyright (c) Authors and others. All rights reserved.
6 
7 #ifndef __VRV_REFRAIN_H__
8 #define __VRV_REFRAIN_H__
9 
10 #include "lyricelement.h"
11 
12 namespace vrv {
13 
14 //----------------------------------------------------------------------------
15 // Refrain
16 //----------------------------------------------------------------------------
17 
19 class Refrain : public LyricElement, public AttNNumberLike {
20 public:
21  Refrain();
22  virtual ~Refrain();
23  Object *Clone() const override { return new Refrain(*this); }
24  void Reset() override;
25  std::string GetClassName() const override { return "refrain"; }
26 
27  FunctorCode Accept(Functor &functor) override;
28  FunctorCode Accept(ConstFunctor &functor) const override;
29  FunctorCode AcceptEnd(Functor &functor) override;
30  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
31 };
32 
33 } // namespace vrv
34 
35 #endif
This abstract class is the base class for all const functors.
Definition: functor.h:126
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
Shared implementation for note-attached verse and refrain lyrics.
Definition: lyricelement.h:33
This class represents a basic object.
Definition: object.h:66
Recurring note-attached lyrics, such as a chorus.
Definition: refrain.h:19
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: refrain.h:23