File: smartpointer_visitor.hpp

package info (click to toggle)
foundry 0.0.20100226-1
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 392 kB
  • ctags: 1,574
  • sloc: cpp: 4,191; yacc: 292; lex: 141; makefile: 123
file content (41 lines) | stat: -rw-r--r-- 972 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* Copyright 2009 Simon Richter <Simon.Richter@hogyros.de>
 *
 * Released under the GNU General Public Licence version 3.
 */

#ifndef foundry_tree_smartpointer_visitor_hpp_
#define foundry_tree_smartpointer_visitor_hpp_ 1

#include <tree_tree.hpp>

namespace foundry {
namespace tree {

class smartpointer_visitor :
    public node_visitor
{
public:
    virtual ~smartpointer_visitor(void) throw() { }

    virtual void visit(root &);
    virtual void visit(include_node &);
    virtual void visit(data_member_node &);
    virtual void visit(group_node &);
    virtual void visit(node_node &);
    virtual void visit(namespace_node &);
    virtual void visit(basic_type_node &);
    virtual void visit(reference_type_node &);
    virtual void visit(pointer_type_node &);
    virtual void visit(list_type_node &);
    virtual void visit(template_type_node &);

private:
    bool is_node_type;
    smartpointer_provider sp_prov;
    root_weak_ptr ast_root;
};

}
}

#endif