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//______________________________________________________________________________
7class bsrBarline;
8typedef SMARTP<bsrBarline> S_bsrBarline;
9
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
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};
99typedef SMARTP<bsrBarline> S_bsrBarline;
100EXP ostream& operator<< (ostream& os, const S_bsrBarline& elt);
101
Definition: bsrBarlines_MUT_DEP.h:11
Definition: bsrLineElements_MUT_DEP.h:8