dot_format.hh

00001 // dot_format.hh: this file is part of the Vaucanson project.
00002 //
00003 // Vaucanson, a generic library for finite state machines.
00004 //
00005 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 The Vaucanson Group.
00006 //
00007 // This program is free software; you can redistribute it and/or
00008 // modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 2
00010 // of the License, or (at your option) any later version.
00011 //
00012 // The complete GNU General Public Licence Notice can be found as the
00013 // `COPYING' file in the root directory.
00014 //
00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
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   } // tools
00058 
00059 } // vcsn
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

Generated on Thu Oct 9 20:22:34 2008 for Vaucanson by  doxygen 1.5.1