summaryrefslogtreecommitdiff
path: root/modules/CIAO/CIDLC/ParameterEmitter_T.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/CIDLC/ParameterEmitter_T.hpp')
-rw-r--r--modules/CIAO/CIDLC/ParameterEmitter_T.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/CIAO/CIDLC/ParameterEmitter_T.hpp b/modules/CIAO/CIDLC/ParameterEmitter_T.hpp
new file mode 100644
index 00000000000..4fe0d55867f
--- /dev/null
+++ b/modules/CIAO/CIDLC/ParameterEmitter_T.hpp
@@ -0,0 +1,33 @@
+// file : CIDLC/ParameterEmitter_T.hpp
+// author : Jeff Parsons <j.parsons@vanderbilt.edu>
+// cvs-id : $Id$
+
+#ifndef PARAMETEREMITTER_T_HPP
+#define PARAMETEREMITTER_T_HPP
+
+#include "EmitterBase.hpp"
+
+// For generating parameter names.
+template <typename T>
+struct ParameterEmitter : T, EmitterBase
+{
+ ParameterEmitter (Context& c, bool for_exec_src = false)
+ : EmitterBase (c),
+ for_exec_src_ (for_exec_src)
+ {
+ }
+
+ virtual void
+ name (typename T::Type& p)
+ {
+ os << " "
+ << (for_exec_src_ ? "/* " : "")
+ << p.name ()
+ << (for_exec_src_ ? " */" : "");
+ }
+
+private:
+ bool for_exec_src_;
+};
+
+#endif // PARAMETEREMITTER_T_HPP