diff options
Diffstat (limited to 'libxsd-frontend/xsd-frontend/traversal/elements.cxx')
| -rw-r--r-- | libxsd-frontend/xsd-frontend/traversal/elements.cxx | 76 | 
1 files changed, 76 insertions, 0 deletions
| diff --git a/libxsd-frontend/xsd-frontend/traversal/elements.cxx b/libxsd-frontend/xsd-frontend/traversal/elements.cxx new file mode 100644 index 0000000..e64e3b9 --- /dev/null +++ b/libxsd-frontend/xsd-frontend/traversal/elements.cxx @@ -0,0 +1,76 @@ +// file      : xsd-frontend/traversal/elements.cxx +// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC +// license   : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#include <xsd-frontend/traversal/elements.hxx> + +namespace XSDFrontend +{ +  namespace Traversal +  { +    // Instance +    // +    void Instance:: +    traverse (Type& a) +    { +      pre (a); +      belongs (a); +      post (a); +    } + +    void Instance:: +    pre (Type&) +    { +    } + +    void Instance:: +    belongs (Type& a, EdgeDispatcher& d) +    { +      d.dispatch (a.belongs ()); +    } + +    void Instance:: +    belongs (Type& a) +    { +      belongs (a, edge_traverser ()); +    } + +    void Instance:: +    post (Type&) +    { +    } + + +    // Member +    // +    void Member:: +    traverse (Type& a) +    { +      pre (a); +      belongs (a); +      post (a); +    } + +    void Member:: +    pre (Type&) +    { +    } + +    void Member:: +    belongs (Type& a, EdgeDispatcher& d) +    { +      d.dispatch (a.belongs ()); +    } + +    void Member:: +    belongs (Type& a) +    { +      belongs (a, edge_traverser ()); +    } + +    void Member:: +    post (Type&) +    { +    } +  } +} | 
