00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_XML_XML_HH
00019 # define VCSN_XML_XML_HH
00020
00032 # include <vaucanson/misc/usual_macros.hh>
00033 # include <vaucanson/xml/xml_converter.hh>
00034
00035
00036 namespace vcsn
00037 {
00038 namespace xml
00039 {
00040
00041 struct XML
00042 {
00043 XML(const std::string& name = "", bool use_label_node = false) :
00044 name_(name), use_label_node_(use_label_node)
00045 {}
00046 template <typename Saver, typename Conv>
00047 void operator()(std::ostream& out,
00048 const Saver& s,
00049 const Conv& conv) const;
00050
00051 template<typename Loader>
00052 void operator()(std::istream& in, Loader& l);
00053
00054 protected:
00055 const std::string name_;
00056 bool use_label_node_;
00057 };
00058
00059 }
00060
00061 }
00062
00063
00064 # ifndef VCSN_USE_INTERFACE_ONLY
00065 # include <vaucanson/xml/XML.hxx>
00066 # endif // VCSN_USE_INTERFACE_ONLY
00067
00068 #endif // ! VCSN_XML_XML_HH