Vcsn  2.3a
Be Rational
signature-printer.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <ostream>
4 
6 
7 namespace vcsn
8 {
9  namespace ast
10  {
12  {
13  public:
14  signature_printer(std::ostream& os, bool full)
15  : os_(os), full_(full)
16  {}
17 
18 #define DEFINE(Type) \
19  virtual void visit(const Type& t)
20 
21  DEFINE(automaton);
22  DEFINE(context);
25  DEFINE(genset);
26  DEFINE(letterset);
27  DEFINE(nullableset);
28  DEFINE(oneset);
29  DEFINE(other);
31  DEFINE(tuple);
33  DEFINE(weightset);
34  DEFINE(wordset);
35 
36 #undef DEFINE
37 
38  private:
39  std::ostream& os_;
40  bool full_;
41  };
42 
51  std::string normalize_context(const std::string& ctx, bool full = true);
52  }
53 }
Definition: a-star.hh:8
weightset_mixin< detail::polynomialset_impl< Context, Kind >> polynomialset
Definition: fwd.hh:63
std::ostringstream os
The output stream: the corresponding C++ snippet to compile.
Definition: translate.cc:375
weightset_mixin< detail::tupleset_impl< LabelSets... >> tupleset
Definition: fwd.hh:27
signature_printer(std::ostream &os, bool full)
weightset_mixin< rat::expressionset_impl< Context >> expressionset
Definition: fwd.hh:205
rat::expansionset< ExpSet > expansionset
Definition: fwd.hh:208
std::string normalize_context(const std::string &ctx, bool full)
A context, normalized.
#define DEFINE(Type)