00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_TOOLS_DOT_FORMAT_HH
00018 # define VCSN_TOOLS_DOT_FORMAT_HH
00019
00020 #include <iostream>
00021 #include <string>
00022
00023 namespace vcsn {
00024
00025 namespace tools {
00026
00028 void
00029 name_escaper(std::ostream&, const std::string&);
00030
00031 struct dot
00032 {
00033 inline dot(const std::string& auto_name = "automaton");
00034
00035 template <typename Saver, typename Conv>
00036 void operator()(std::ostream& out,
00037 const Saver& s,
00038 const Conv& conv) const;
00039
00040 protected:
00041 std::string name_;
00042 };
00043
00044 struct transducer_dot
00045 {
00046 inline transducer_dot(const std::string& auto_name = "transducer");
00047
00048 template <typename Saver, typename Conv>
00049 void operator()(std::ostream& out,
00050 const Saver& s,
00051 const Conv& conv) const;
00052
00053 protected:
00054 std::string name_;
00055 };
00056
00057 }
00058
00059 }
00060
00061
00062 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
00063 # include <vaucanson/tools/dot_format.hxx>
00064 #endif // VCSN_USE_INTERFACE_ONLY
00065
00066
00067 #endif // ! VCSN_TOOLS_DOT_FORMAT_HH