13#ifndef __unrolled_xml_tree_browser__
14#define __unrolled_xml_tree_browser__
50class EXP unrolled_xml_tree_browser :
public browser<xmlelement>,
59 typedef struct {
int current;
int next; } state;
60 std::map<S_repeat,int> fRepeatMap;
62 enum { kUndefined=-1, kNoInstruction=0 };
63 enum { kNoJump, kDaCapo, kDalSegno, kToCoda };
86 unrolled_xml_tree_browser(
basevisitor* v) : fForward(true), fVisitor(v) {}
89 virtual void visitStart( Sxmlelement& elt);
90 virtual void visitStart( S_measure& elt);
91 virtual void visitStart( S_ending& elt);
92 virtual void visitStart( S_repeat& elt);
93 virtual void visitStart( S_part& elt);
94 virtual void visitStart( S_sound& elt);
96 virtual void browse (xmlelement& t);
97 virtual void forwardBrowse (xmlelement& t);
98 virtual void enter (xmlelement& t) { t.acceptIn(*fVisitor); }
99 virtual void leave (xmlelement& t) { t.acceptOut(*fVisitor); }
Definition basevisitor.h:25
branchs::iterator literator
the current level iterator type
Definition ctree.h:128
An xml tree browser that "unroll" the score.
Definition unrolled_xml_tree_browser.h:57
ctree< xmlelement >::literator fEndIterator
indicates the end of to visit
Definition unrolled_xml_tree_browser.h:78
ctree< xmlelement >::literator fNextIterator
indicates the next elt to visit
Definition unrolled_xml_tree_browser.h:79
ctree< xmlelement >::literator fForwardRepeat
the forward repeat location
Definition unrolled_xml_tree_browser.h:77
int fStoreDelay
an iterations counter for delayed store
Definition unrolled_xml_tree_browser.h:83
ctree< xmlelement >::literator fSegnoIterator
the segno location
Definition unrolled_xml_tree_browser.h:80
ctree< xmlelement >::literator * fStoreIterator
a pointer to store the current iterator
Definition unrolled_xml_tree_browser.h:82
ctree< xmlelement >::literator fFirstMeasure
the first measure iterator
Definition unrolled_xml_tree_browser.h:76
ctree< xmlelement >::literator fCodaIterator
the segno location
Definition unrolled_xml_tree_browser.h:81