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 
21 namespace MusicXML2
22 {
23 
24 //______________________________________________________________________________
25 class 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 };
97 EXP 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