diff options
Diffstat (limited to 'modules/CIAO/CIDLC/ParameterEmitter_T.hpp')
-rw-r--r-- | modules/CIAO/CIDLC/ParameterEmitter_T.hpp | 33 |
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 |