LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
escape.hh
Go to the documentation of this file.
1 
6 #ifndef MISC_ESCAPE_HH
7 # define MISC_ESCAPE_HH
8 
9 # include <iosfwd>
10 # include <string>
11 
12 namespace misc
13 {
14 
15  class escaped
16  {
17  public:
18  std::ostream& print(std::ostream& ostr) const;
19 
20  protected:
21  template <class T>
22  escaped(const T&);
23 
24  template <class T>
25  friend escaped escape(const T&);
26 
27  protected:
28  std::string pobj_str_;
29 
30  private:
31  std::ostream&
32  escape_(std::ostream& o, const std::string& es) const;
33  };
34 
35  template <class T>
36  escaped escape(const T&);
37 
38  std::ostream& operator<<(std::ostream& o, const escaped&);
39 
40 }
41 
42 # include <misc/escape.hxx>
43 
44 #endif // !MISC_ESCAPE_HH