Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / TAO / tao / Basic_Arguments.h
blob776891bc70eec17b6180bd64fcfd3c882a3d7d2a
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Basic_Arguments.h
7 * @authors Jeff Parsons and Carlos O'Ryan
8 */
9 //=============================================================================
11 #ifndef TAO_BASIC_ARGUMENTS_H
12 #define TAO_BASIC_ARGUMENTS_H
14 #include /**/ "ace/pre.h"
16 #include "tao/Basic_Argument_T.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 # pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "tao/Arg_Traits_T.h"
23 #include "tao/Any_Insert_Policy_T.h"
25 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
27 namespace TAO
29 /**
31 * @brief Specialization for void return type.
34 template<>
35 class TAO_Export Arg_Traits<void>
37 public:
38 typedef void ret_type;
40 typedef RetArgument ret_val;
41 typedef Void_Return_Argument
42 clonable_ret_val;
45 /**
47 * @brief Specializations for basic stub arg types,
48 * except (w)char/boolean/octet.
52 template<>
53 class TAO_Export Arg_Traits<CORBA::Short>
54 : public
55 Basic_Arg_Traits_T<
56 CORBA::Short,
57 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
61 template<>
62 class TAO_Export Arg_Traits<CORBA::Long>
63 : public
64 Basic_Arg_Traits_T<
65 CORBA::Long,
66 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
70 template<>
71 class TAO_Export Arg_Traits<CORBA::UShort>
72 : public
73 Basic_Arg_Traits_T<
74 CORBA::UShort,
75 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
79 template<>
80 class TAO_Export Arg_Traits<CORBA::ULong>
81 : public
82 Basic_Arg_Traits_T<
83 CORBA::ULong,
84 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
88 template<>
89 class TAO_Export Arg_Traits<CORBA::Float>
90 : public
91 Basic_Arg_Traits_T<
92 CORBA::Float,
93 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
97 template<>
98 class TAO_Export Arg_Traits<CORBA::Double>
99 : public
100 Basic_Arg_Traits_T<
101 CORBA::Double,
102 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
106 template<>
107 class TAO_Export Arg_Traits<CORBA::LongLong>
108 : public
109 Basic_Arg_Traits_T<
110 CORBA::LongLong,
111 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
115 template<>
116 class TAO_Export Arg_Traits<CORBA::ULongLong>
117 : public
118 Basic_Arg_Traits_T<
119 CORBA::ULongLong,
120 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
124 template<>
125 class TAO_Export Arg_Traits<CORBA::LongDouble>
126 : public
127 Basic_Arg_Traits_T<
128 CORBA::LongDouble,
129 TAO::Any_Insert_Policy_AnyTypeCode_Adapter>
133 template<>
134 class TAO_Export Arg_Traits<std::string>
135 : public
136 Basic_Arg_Traits_T <
137 std::string,
138 Any_Insert_Policy_AnyTypeCode_Adapter>
142 #if !defined(ACE_LACKS_STD_WSTRING)
143 template<>
144 class TAO_Export Arg_Traits<std::wstring>
145 : public
146 Basic_Arg_Traits_T <
147 std::wstring,
148 Any_Insert_Policy_AnyTypeCode_Adapter>
151 #endif /* ACE_LACKS_STD_WSTRING */
154 TAO_END_VERSIONED_NAMESPACE_DECL
156 #include /**/ "ace/post.h"
158 #endif /* TAO_BASIC_ARGUMENTS_H */