/
part1.hpp
122 lines (97 loc) · 4.68 KB
/
part1.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// Copyright (c) 2005-2014 Code Synthesis Tools CC
// Copyright (c) 2014 Mario Lang
//
// This program was originally generated by CodeSynthesis XSD, an XML Schema to
// C++ data binding compiler. It was later modified by hand.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
// In addition, as a special exception, Code Synthesis Tools CC gives
// permission to link this program with the Xerces-C++ library (or with
// modified versions of Xerces-C++ that use the same license as Xerces-C++),
// and distribute linked combinations including the two. You must obey
// the GNU General Public License version 2 in all respects for all of
// the code used other than Xerces-C++. If you modify this copy of the
// program, you may extend this exception to your version of the program,
// but you are not obligated to do so. If you do not wish to do so, delete
// this exception statement from your version.
//------------------------------------------------------------------------------
// This header should NOT be included directly in your program.
// See the musicxml.hpp header file instead.
//------------------------------------------------------------------------------
#include "music_data.hpp"
namespace musicxml {
/**
* @brief Class corresponding to the %part1 schema type.
*
* @nosubgrouping
*/
class part1 : public ::xml_schema::type {
public:
typedef ::musicxml::note note_type;
typedef ::xsd::cxx::tree::traits<note_type, char> note_traits;
typedef ::musicxml::backup backup_type;
typedef ::xsd::cxx::tree::traits<backup_type, char> backup_traits;
typedef ::musicxml::forward forward_type;
typedef ::xsd::cxx::tree::traits<forward_type, char> forward_traits;
typedef ::musicxml::direction direction_type;
typedef ::xsd::cxx::tree::traits<direction_type, char> direction_traits;
typedef ::musicxml::attributes attributes_type;
typedef ::xsd::cxx::tree::traits<attributes_type, char> attributes_traits;
typedef ::musicxml::harmony harmony_type;
typedef ::xsd::cxx::tree::traits<harmony_type, char> harmony_traits;
typedef ::musicxml::figured_bass figured_bass_type;
typedef ::xsd::cxx::tree::traits<figured_bass_type, char> figured_bass_traits;
typedef ::musicxml::print print_type;
typedef ::xsd::cxx::tree::traits<print_type, char> print_traits;
typedef ::musicxml::sound sound_type;
typedef ::xsd::cxx::tree::traits<sound_type, char> sound_traits;
typedef ::musicxml::barline barline_type;
typedef ::xsd::cxx::tree::traits<barline_type, char> barline_traits;
typedef ::musicxml::grouping grouping_type;
typedef ::xsd::cxx::tree::traits<grouping_type, char> grouping_traits;
typedef ::musicxml::link link_type;
typedef ::xsd::cxx::tree::traits<link_type, char> link_traits;
typedef ::musicxml::bookmark bookmark_type;
typedef ::xsd::cxx::tree::traits<bookmark_type, char> bookmark_traits;
typedef ::xsd::cxx::tree::idref<char, ::xml_schema::ncname, ::musicxml::score_part> id_type;
typedef ::xsd::cxx::tree::traits<id_type, char> id_traits;
using music_data_type = ::musicxml::music_data;
using music_data_sequence = ::std::vector<music_data_type>;
using music_data_iterator = music_data_sequence::iterator;
using music_data_const_iterator = music_data_sequence::const_iterator;
const music_data_sequence &music_data() const;
music_data_sequence &music_data();
void music_data(const music_data_sequence &);
const id_type &id() const;
id_type &id();
void id(const id_type &x);
void id(::std::unique_ptr<id_type> p);
part1(const id_type &);
part1(const ::xercesc::DOMElement &e, ::xml_schema::flags f = 0,
::xml_schema::container *c = nullptr);
part1(const part1 &x, ::xml_schema::flags f = 0,
::xml_schema::container *c = nullptr);
virtual part1 *_clone(::xml_schema::flags f = 0,
::xml_schema::container *c = nullptr) const override;
part1 &operator=(const part1 &x);
virtual ~part1();
protected:
void parse(::xsd::cxx::xml::dom::parser<char> &, ::xml_schema::flags);
protected:
music_data_sequence music_data_;
::xsd::cxx::tree::one<id_type> id_;
};
void operator<<(::xercesc::DOMElement &e, const part1 &i);
}