LibMusicXML  3.18
bsrNumbers_MUT_DEP.h
1 /*
2  This file is to be included only by bsrMutualDependencies.h,
3  to satisfy declarations mutual dependencies.
4 */
5 
6 //______________________________________________________________________________
7 class bsrNumber : public bsrLineElement
8 {
9  public:
10 
11  // data types
12  // ------------------------------------------------------
13 
14  enum bsrNumberSignIsNeededKind {
15  kNumberSignIsNeededYes, kNumberSignIsNeededNo};
16 
17  static string numberSignIsNeededKindAsString (
18  bsrNumberSignIsNeededKind numberSignIsNeededKind);
19 
20  // creation
21  // ------------------------------------------------------
22 
23  static SMARTP<bsrNumber> create (
24  int inputLineNumber,
25  int numberValue,
26  bsrNumberSignIsNeededKind
27  numberSignIsNeededKind);
28 
29  protected:
30 
31  // constructors/destructor
32  // ------------------------------------------------------
33 
34  bsrNumber (
35  int inputLineNumber,
36  int numberValue,
37  bsrNumberSignIsNeededKind
38  numberSignIsNeededKind);
39 
40  virtual ~bsrNumber ();
41 
42  public:
43 
44  // set and get
45  // ------------------------------------------------------
46 
47  int getNumberValue () const
48  { return fNumberValue; }
49 
50  void setNumberSignIsNeededKind (
51  bsrNumberSignIsNeededKind
52  numberSignIsNeededKindvalue)
53  {
54  fNumberSignIsNeededKind =
55  numberSignIsNeededKindvalue;
56  }
57 
58  bsrNumberSignIsNeededKind
59  getNumberSignIsNeededKind () const
60  { return fNumberSignIsNeededKind; }
61 
62  S_bsrCellsList getNumberCellsList () const
63  { return fNumberCellsList; }
64 
65  // public services
66  // ------------------------------------------------------
67 
68  S_bsrCellsList fetchCellsList () const
69  { return fNumberCellsList; }
70 
71  int fetchCellsNumber () const;
72 
73  private:
74 
75  // private services
76  // ------------------------------------------------------
77 
78  S_bsrCellsList numberValueAsCellsList () const;
79 
80  S_bsrCellsList buildCellsList () const;
81 
82  public:
83 
84  // visitors
85  // ------------------------------------------------------
86 
87  virtual void acceptIn (basevisitor* v);
88  virtual void acceptOut (basevisitor* v);
89 
90  virtual void browseData (basevisitor* v);
91 
92  public:
93 
94  // print
95  // ------------------------------------------------------
96 
97  string asString () const;
98 
99  virtual void print (ostream& os) const;
100 
101  private:
102 
103  // fields
104  // ------------------------------------------------------
105 
106  int fNumberValue;
107 
108  bsrNumberSignIsNeededKind
109  fNumberSignIsNeededKind;
110 
111  S_bsrCellsList fNumberCellsList;
112 };
113 typedef SMARTP<bsrNumber> S_bsrNumber;
114 EXP ostream& operator<< (ostream& os, const S_bsrNumber& elt);
115 
bsrLineElement
Definition: bsrLineElements_MUT_DEP.h:8
bsrNumber
Definition: bsrNumbers_MUT_DEP.h:8