diff options
author | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
---|---|---|
committer | Abdullah Sowayan <sowayan@users.noreply.github.com> | 2007-03-18 22:23:37 +0000 |
commit | 06a34455bd98b1379cc69bbc5b2cf085e0fc0d9b (patch) | |
tree | 8815ce3b3a85c3c4285429295f338e00ea4497f4 /CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp | |
parent | d66fcc9b4aaec8e88eeb83fc578fdf8a3cc963de (diff) | |
download | ATCD-Static_RT_DAnCE.tar.gz |
Diffstat (limited to 'CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp')
-rw-r--r-- | CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp b/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp new file mode 100644 index 00000000000..a99ee48e814 --- /dev/null +++ b/CIAO/CCF/CCF/IDL2/Traversal/ValueType.hpp @@ -0,0 +1,89 @@ +// file : CCF/IDL2/Traversal/ValueType.hpp +// author : Boris Kolpackov <boris@dre.vanderbilt.edu> +// cvs-id : $Id$ + +#ifndef CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP +#define CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP + +#include "CCF/IDL2/Traversal/Elements.hpp" +#include "CCF/IDL2/Traversal/Operation.hpp" +#include "CCF/IDL2/SemanticGraph/ValueType.hpp" + +namespace CCF +{ + namespace IDL2 + { + namespace Traversal + { + template <typename T> + struct ValueTypeTemplate : ScopeTemplate<T> + { + virtual void + traverse (T&); + + virtual void + pre (T&); + + virtual void + name (T&); + + virtual void + inherits (T&, EdgeDispatcherBase& d); + + virtual void + inherits (T&); + + virtual void + inherits_pre (T&); + + virtual void + inherits_post (T&); + + virtual void + inherits_none (T&); + + virtual void + supports (T&, EdgeDispatcherBase& d); + + virtual void + supports (T&); + + virtual void + supports_pre (T&); + + virtual void + supports_post (T&); + + virtual void + supports_none (T&); + + virtual void + post (T&); + + virtual void + comma (T&); + }; + + + typedef + ValueTypeTemplate<SemanticGraph::ValueType> + ValueType; + + typedef + ValueTypeTemplate<SemanticGraph::AbstractValueType> + AbstractValueType; + + typedef + ValueTypeTemplate<SemanticGraph::ConcreteValueType> + ConcreteValueType; + + typedef + OperationTemplate<SemanticGraph::ValueTypeFactory> + ValueTypeFactory; + } + } +} + +#include "CCF/IDL2/Traversal/ValueType.tpp" + +#endif // CCF_IDL2_TRAVERSAL_VALUE_TYPE_HPP |