// file : CCF/IDL2/Traversal/Translation.hpp // author : Boris Kolpackov // cvs-id : $Id$ #ifndef CCF_IDL2_TRAVERSAL_TRANSLATION_HPP #define CCF_IDL2_TRAVERSAL_TRANSLATION_HPP #include "CCF/IDL2/Traversal/Elements.hpp" #include "CCF/IDL2/SemanticGraph/Translation.hpp" namespace CCF { namespace IDL2 { namespace Traversal { // Some edges. // // struct ContainsPrincipal : Edge { virtual void traverse (Type& e) { node_traverser ().traverse (e.element ()); } }; struct ContainsImplied : Edge { virtual void traverse (Type& e) { node_traverser ().traverse (e.element ()); } }; struct ContainsRoot : Edge { virtual void traverse (Type& e) { node_traverser ().traverse (e.element ()); } }; struct Includes : Edge { virtual void traverse (Type& e) { node_traverser ().traverse (e.element ()); } }; struct QuoteIncludes : Edge { virtual void traverse (Type& e) { node_traverser ().traverse (e.element ()); } }; struct BracketIncludes : Edge { virtual void traverse (Type& e) { node_traverser ().traverse (e.element ()); } }; // // // typedef ScopeTemplate Root; // // // struct TranslationRegion : Node { virtual void traverse (SemanticGraph::TranslationRegion&); }; // // // struct TranslationUnit : Node { virtual void traverse (SemanticGraph::TranslationUnit&); }; } } } #endif // CCF_IDL2_TRAVERSAL_TRANSLATION_HPP