Verovio
Source code documentation
layerdef.h
1 // Name: layerdef.h
3 // Author: Andriy Makarchuk
4 // Created: 2022/02/28
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_LAYERDEF_H__
9 #define __VRV_LAYERDEF_H__
10 
11 #include "atts_mei.h"
12 #include "atts_midi.h"
13 #include "atts_shared.h"
14 #include "object.h"
15 
16 namespace vrv {
17 
18 class LayerDef : public Object, public AttLabelled, public AttNInteger, public AttTyped {
19 public:
25  LayerDef();
26  virtual ~LayerDef();
27  Object *Clone() const override { return new LayerDef(*this); }
28  void Reset() override;
29  std::string GetClassName() const override { return "layerDef"; }
31 
36  bool IsSupportedChild(ClassId classId) override;
38 
43  FunctorCode Accept(Functor &functor) override;
44  FunctorCode Accept(ConstFunctor &functor) const override;
45  FunctorCode AcceptEnd(Functor &functor) override;
46  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
48 };
49 
50 } // namespace vrv
51 
52 #endif //__VRV_LAYERDEF_H__
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
Definition: layerdef.h:18
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
bool IsSupportedChild(ClassId classId) override
Base method for checking if a child can be added.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
Object * Clone() const override
Method call for copying child classes.
Definition: layerdef.h:27
This class represents a basic object.
Definition: object.h:61