LibMusicXML  3.18
bsrBarlines_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 bsrBarline;
8 typedef SMARTP<bsrBarline> S_bsrBarline;
9 
10 class bsrBarline : public bsrLineElement
11 {
12  public:
13 
14  // data types
15  // ------------------------------------------------------
16 
17  enum bsrBarlineKind {
18  kBarlineKindNone,
19  kBarlineKindSpecial, // for dotted or dashed barlines
20  kBarlineKindUnusual, // irregular spacing, ...
21  kBarlineKindFinalDouble, kBarlineKindSectionalDouble };
22 
23  static string barlineKindAsString (
24  bsrBarlineKind barlineKind);
25 
26  // creation
27  // ------------------------------------------------------
28 
29  static SMARTP<bsrBarline> create (
30  int inputLineNumber,
31  bsrBarlineKind barlineKind);
32 
33  protected:
34 
35  // constructors/destructor
36  // ------------------------------------------------------
37 
38  bsrBarline (
39  int inputLineNumber,
40  bsrBarlineKind barlineKin);
41 
42  virtual ~bsrBarline ();
43 
44  public:
45 
46  // set and get
47  // ------------------------------------------------------
48 
49  bsrBarlineKind getBarlineKind () const
50  { return fBarlineKind; }
51 
52  public:
53 
54  // public services
55  // ------------------------------------------------------
56 
57  S_bsrCellsList fetchCellsList () const
58  { return fBarlineCellsList; }
59 
60  int fetchCellsNumber () const;
61 
62  private:
63 
64  // private services
65  // ------------------------------------------------------
66 
67  S_bsrCellsList barlineKindAsCellsList ();
68 
69  S_bsrCellsList buildCellsList () const;
70 
71  public:
72 
73  // visitors
74  // ------------------------------------------------------
75 
76  virtual void acceptIn (basevisitor* v);
77  virtual void acceptOut (basevisitor* v);
78 
79  virtual void browseData (basevisitor* v);
80 
81  public:
82 
83  // print
84  // ------------------------------------------------------
85 
86  string asString () const;
87 
88  virtual void print (ostream& os) const;
89 
90  private:
91 
92  // fields
93  // ------------------------------------------------------
94 
95  bsrBarlineKind fBarlineKind;
96 
97  S_bsrCellsList fBarlineCellsList;
98 };
99 typedef SMARTP<bsrBarline> S_bsrBarline;
100 EXP ostream& operator<< (ostream& os, const S_bsrBarline& elt);
101 
Definition: bsrBarlines_MUT_DEP.h:11
Definition: bsrLineElements_MUT_DEP.h:8