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
00021 # include <string>
00022 # include <iostream>
00023
00034 namespace vcsn
00035 {
00036 namespace xml
00037 {
00038
00039 struct XML
00040 {
00041 XML(const std::string& name = "", bool use_label_node = false);
00042
00044 template <typename Saver, typename Conv>
00045 void operator()(std::ostream& out,
00046 const Saver& s,
00047 const Conv& conv) const;
00048
00050 template<typename Loader>
00051 void operator()(std::istream& in, Loader& l);
00052
00053 protected:
00054 const std::string name_;
00055 bool use_label_node_;
00056 };
00057
00058 }
00059
00060 }
00061
00062
00063 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
00064 # include <vaucanson/xml/XML.hxx>
00065 # endif // VCSN_USE_INTERFACE_ONLY
00066
00067 #endif // ! VCSN_XML_XML_HH