LibMusicXML 3.18
msrSlashes.h
1/*
2 MusicXML Library
3 Copyright (C) Grame 2006-2013
4
5 This Source Code Form is subject to the terms of the Mozilla Public
6 License, v. 2.0. If a copy of the MPL was not distributed with this
7 file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9 Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10 research@grame.fr
11*/
12
13#ifndef ___msrSlashes___
14#define ___msrSlashes___
15
16#include "msrElements.h"
17
18#include "msrBasicTypes.h"
19
20
21namespace MusicXML2
22{
23
24//______________________________________________________________________________
25class msrSlash : public msrElement
26{
27 public:
28
29 // creation from MusicXML
30 // ------------------------------------------------------
31
32 static SMARTP<msrSlash> create (
33 int inputLineNumber,
34 msrSlashTypeKind slashTypeKind,
35 msrUseDotsKind useDotsKind,
36 msrSlashUseStemsKind slashUseStemsKind);
37
38 protected:
39
40 // constructors/destructor
41 // ------------------------------------------------------
42
43 msrSlash (
44 int inputLineNumber,
45 msrSlashTypeKind slashTypeKind,
46 msrUseDotsKind useDotsKind,
47 msrSlashUseStemsKind slashUseStemsKind);
48
49 virtual ~msrSlash ();
50
51 public:
52
53 // set and get
54 // ------------------------------------------------------
55
56 msrSlashTypeKind getSlashTypeKind () const
57 { return fSlashTypeKind; }
58
59 msrUseDotsKind getUseDotsKind () const
60 { return fUseDotsKind; }
61
62 msrSlashUseStemsKind getSlashUseStemsKind () const
63 { return fSlashUseStemsKind; }
64
65 // services
66 // ------------------------------------------------------
67
68 public:
69
70 // visitors
71 // ------------------------------------------------------
72
73 virtual void acceptIn (basevisitor* v);
74 virtual void acceptOut (basevisitor* v);
75
76 virtual void browseData (basevisitor* v);
77
78 public:
79
80 // print
81 // ------------------------------------------------------
82
83 string asString () const;
84
85 virtual void print (ostream& os) const;
86
87 private:
88
89 // fields
90 // ------------------------------------------------------
91
92 msrSlashTypeKind fSlashTypeKind;
93 msrUseDotsKind fUseDotsKind;
94 msrSlashUseStemsKind fSlashUseStemsKind;
95};
97EXP ostream& operator<< (ostream& os, const S_msrSlash& elt);
98
99
100} // namespace MusicXML2
101
102
103#endif
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: msrElements.h:26
Definition: msrSlashes.h:26