00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef ptree_util_i_h 00004 #define ptree_util_i_h 00005 00006 #include <cctype> 00007 #include <ptree.h> 00008 #include <encoding.h> 00009 #include "ptree_visitor.h" 00010 #include "source.h" 00011 #include "except.h" 00012 00013 class Flat_maker : public Ptree_visitor<int> { 00014 std::vector<Ptree*>* v; 00015 public: 00016 Flat_maker(std::vector<Ptree*>* v) 00017 : Ptree_visitor<int>(&Source::instance()), v(v) { } 00018 00019 int default_action(Ptree* t) { 00020 v->push_back(t); 00021 return 0; 00022 } 00023 00024 int visit_nonleaf(NonLeaf* l) { 00025 return Ptree_visitor<int>::default_action(l); 00026 } 00027 int visit_name(Ptree* t) { 00028 v->push_back(t); 00029 return 0; 00030 } 00031 }; 00032 00033 #endif // ptree_util_i_h