LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
libastclone.hh
Go to the documentation of this file.
1 
6 #ifndef ASTCLONE_LIBASTCLONE_HH
7 # define ASTCLONE_LIBASTCLONE_HH
8 
9 # include <ast/fwd.hh>
10 
12 namespace astclone
13 {
14 
18  template <typename T>
19  T*
20  clone(const T& tree);
21 
22 
23  template <typename A>
24  using applicable = auto(const A&) -> A*;
25 
27  template <typename A>
28  void
29  apply(applicable<A> f, A*& t);
30 
31 } // namespace astclone
32 
33 # include <astclone/libastclone.hxx>
34 
35 #endif // !ASTCLONE_LIBASTCLONE_HH