00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __TPartList__
00026 #define __TPartList__
00027
00028 #include "exports.h"
00029 #include "smartpointer.h"
00030 #include "TPartGroup.h"
00031 #include "TScorePart.h"
00032 #include "TScoreVisitor.h"
00033
00034 namespace MusicXML
00035 {
00036
00049 class EXP TPartList : public visitable, public smartable {
00050
00051 public:
00052 EXP friend SMARTP<TPartList> newPartList();
00053
00054 virtual void accept(TScoreVisitor& visitor);
00055
00056 long add(const SScorePart& part);
00057 long add(const SPartGroup& part);
00058
00059 vvector<SPartListElement>& parts() { return fPartsList; }
00060
00061 protected:
00062 TPartList() {}
00063 virtual ~TPartList() {}
00064 private:
00065 vvector<SPartListElement> fPartsList;
00066 };
00067 typedef SMARTP<TPartList> SPartList;
00068
00069 }
00070
00071
00072 #endif