// file : odb/traversal/template.hxx // copyright : Copyright (c) 2009-2018 Code Synthesis Tools CC // license : GNU GPL v3; see accompanying LICENSE file #ifndef ODB_TRAVERSAL_TEMPLATE_HXX #define ODB_TRAVERSAL_TEMPLATE_HXX #include #include namespace traversal { struct instantiates: edge { instantiates () { } instantiates (node_dispatcher& n) { node_traverser (n); } virtual void traverse (type&); }; struct template_: node {}; struct instantiation: node { virtual void traverse (type&); virtual void instantiates (type&); virtual void instantiates (type&, edge_dispatcher&); }; struct type_template: node {}; struct type_instantiation: node { virtual void traverse (type&); virtual void instantiates (type&); virtual void instantiates (type&, edge_dispatcher&); }; } #endif // ODB_TRAVERSAL_TEMPLATE_HXX