00001 /* 00002 00003 MusicXML Library 00004 Copyright (C) 2003 Grame 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation> either 00009 version 2.1 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY> without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public 00017 License along with this library> if not, write to the Free Software 00018 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 00020 Grame Research Laboratory, 9 rue du Garet, 69001 Lyon - France 00021 grame@grame.fr 00022 00023 */ 00024 00025 #ifndef __smartclasses__ 00026 #define __smartclasses__ 00027 00028 #include "smartpointer.h" 00029 00030 namespace MusicXML 00031 { 00032 template <class C> class SmartVisitable; 00033 00034 typedef SMARTP<class TAccidental> SAccidental; 00035 typedef SMARTP<class TArticulationElement> SArticulationElement; 00036 typedef SMARTP<class TArticulations> SArticulations; 00037 typedef SMARTP<class TAttributes> SAttributes; 00038 typedef SMARTP<class TBackup> SBackup; 00039 typedef SMARTP<class TBarline> SBarline; 00040 typedef SMARTP<class TBeam> SBeam; 00041 typedef SMARTP<class TBracket> SBracket; 00042 typedef SMARTP<class TChord> SChord; 00043 typedef SMARTP<class TClef> SClef; 00044 typedef SMARTP<class TCoda> SCoda; 00045 typedef SMARTP<class TCreator> SCreator; 00046 typedef SMARTP<class TDashes> SDashes; 00047 typedef SMARTP<class TDirection> SDirection; 00048 typedef SMARTP<class TDirectionType> SDirectionType; 00049 typedef SMARTP<class TDirective> SDirective; 00050 typedef SMARTP<class TDynamic> SDynamic; 00051 typedef SMARTP<class TEncoding> SEncoding; 00052 typedef SMARTP<class TEnding> SEnding; 00053 typedef SMARTP<class TExpression> SExpression; 00054 typedef SMARTP<class TFermata> SFermata; 00055 typedef SMARTP<class TForward> SForward; 00056 typedef SMARTP<class TGraceNote> SGraceNote; 00057 typedef SMARTP<class TGraphNote> SGraphNote; 00058 typedef SMARTP<class TIdentification> SIdentification; 00059 typedef SMARTP<class TKey> SKey; 00060 typedef SMARTP<class TMeasure> SMeasure; 00061 typedef SMARTP<class TMetronome> SMetronome; 00062 typedef SMARTP<class TMidiDevice> SMidiDevice; 00063 typedef SMARTP<class TMidiInstrument> SMidiInstrument; 00064 typedef SMARTP<class TMusicXMLReader> SMusicXMLReader; 00065 typedef SMARTP<class TNotation> SNotation; 00066 typedef SMARTP<class TNote> SNote; 00067 typedef SMARTP<class TNoteHead> SNoteHead; 00068 typedef SMARTP<class TOctaveShift> SOctaveShift; 00069 typedef SMARTP<class TOrientation> SOrientation; 00070 typedef SMARTP<class TPWMeasure> SPWMeasure; 00071 typedef SMARTP<class TPWPart> SPWPart; 00072 typedef SMARTP<class TPart> SPart; 00073 typedef SMARTP<class TPartGroup> SPartGroup; 00074 typedef SMARTP<class TPartList> SPartList; 00075 typedef SMARTP<class TPitch> SPitch; 00076 typedef SMARTP<class TPlacement> SPlacement; 00077 typedef SMARTP<class TPosition> SPosition; 00078 typedef SMARTP<class TRepeat> SRepeat; 00079 typedef SMARTP<class TRest> SRest; 00080 typedef SMARTP<class TRights> SRights; 00081 typedef SMARTP<class TScore> SScore; 00082 typedef SMARTP<class TScoreHeader> SScoreHeader; 00083 typedef SMARTP<class TScoreInstrument> SScoreInstrument; 00084 typedef SMARTP<class TScorePart> SScorePart; 00085 typedef SMARTP<class TScorePartwise> SScorePartwise; 00086 typedef SMARTP<class TScoreTimewise> SScoreTimewise; 00087 typedef SMARTP<class TSegno> SSegno; 00088 typedef SMARTP<class TSlur> SSlur; 00089 typedef SMARTP<class TSound> SSound; 00090 typedef SMARTP<class TStrongAccent> SStrongAccent; 00091 typedef SMARTP<class TTWMeasure> STWMeasure; 00092 typedef SMARTP<class TTWPart> STWPart; 00093 typedef SMARTP<class TTie> STie; 00094 typedef SMARTP<class TTieSlur> STieSlur; 00095 typedef SMARTP<class TTimeModification> STimeModification; 00096 typedef SMARTP<class TTimeSign> STimeSign; 00097 typedef SMARTP<class TTranspose> STranspose; 00098 typedef SMARTP<class TTrill> STrill; 00099 typedef SMARTP<class TTuplet> STuplet; 00100 typedef SMARTP<class TTupletDesc> STupletDesc; 00101 typedef SMARTP<class TUnpitched> SUnpitched; 00102 typedef SMARTP<class TWavyLine> SWavyLine; 00103 typedef SMARTP<class TWedge> SWedge; 00104 typedef SMARTP<class TWords> SWords; 00105 typedef SMARTP<class TWork> SWork; 00106 00107 } 00108 00109 #endif 00110