LibMusicXML  3.18
msrBreaks.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 ___msrBreaks___
14 #define ___msrBreaks___
15 
16 #include "msrMeasureElements.h"
17 
18 #include "msrBasicTypes.h"
19 
20 
21 namespace MusicXML2
22 {
23 
24 //______________________________________________________________________________
26 {
27  public:
28 
29  // creation from MusicXML
30  // ------------------------------------------------------
31 
32  static SMARTP<msrLineBreak> create (
33  int inputLineNumber,
34  string nextBarNumber);
35 
36  protected:
37 
38  // constructors/destructor
39  // ------------------------------------------------------
40 
41  msrLineBreak (
42  int inputLineNumber,
43  string nextBarNumber);
44 
45  virtual ~msrLineBreak ();
46 
47  public:
48 
49  // set and get
50  // ------------------------------------------------------
51 
52  string getNextBarNumber () const
53  { return fNextBarNumber; }
54 
55  // services
56  // ------------------------------------------------------
57 
58  public:
59 
60  // visitors
61  // ------------------------------------------------------
62 
63  virtual void acceptIn (basevisitor* v);
64  virtual void acceptOut (basevisitor* v);
65 
66  virtual void browseData (basevisitor* v);
67 
68  public:
69 
70  // print
71  // ------------------------------------------------------
72 
73  string asString () const;
74 
75  virtual void print (ostream& os) const;
76 
77  private:
78 
79  // fields
80  // ------------------------------------------------------
81 
82  string fNextBarNumber;
83 };
85 EXP ostream& operator<< (ostream& os, const S_msrLineBreak& elt);
86 
87 //______________________________________________________________________________
89 {
90  public:
91 
92  // creation from MusicXML
93  // ------------------------------------------------------
94 
95  static SMARTP<msrPageBreak> create (
96  int inputLineNumber);
97 
98  protected:
99 
100  // constructors/destructor
101  // ------------------------------------------------------
102 
103  msrPageBreak (
104  int inputLineNumber);
105 
106  virtual ~msrPageBreak ();
107 
108  public:
109 
110  // set and get
111  // ------------------------------------------------------
112 
113  // services
114  // ------------------------------------------------------
115 
116  public:
117 
118  // visitors
119  // ------------------------------------------------------
120 
121  virtual void acceptIn (basevisitor* v);
122  virtual void acceptOut (basevisitor* v);
123 
124  virtual void browseData (basevisitor* v);
125 
126  public:
127 
128  // print
129  // ------------------------------------------------------
130 
131  string asString () const;
132 
133  virtual void print (ostream& os) const;
134 
135  private:
136 
137  // fields
138  // ------------------------------------------------------
139 };
141 EXP ostream& operator<< (ostream& os, const S_msrPageBreak& elt);
142 
143 
144 } // namespace MusicXML2
145 
146 
147 #endif
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: msrBreaks.h:26
Definition: msrMeasureElements.h:24
Definition: msrBreaks.h:89