Basic_Arguments.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Basic_Arguments.h
00006  *
00007  *  $Id: Basic_Arguments.h 74007 2006-08-14 12:50:21Z elliott_c $
00008  *
00009  *  @authors Jeff Parsons and Carlos O'Ryan
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_BASIC_ARGUMENTS_H
00015 #define TAO_BASIC_ARGUMENTS_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "tao/Basic_Argument_T.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "tao/Arg_Traits_T.h"
00026 #include "tao/Any_Insert_Policy_T.h"
00027 
00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00029 
00030 namespace TAO
00031 {
00032   /**
00033    *
00034    * @brief Specialization for void return type.
00035    *
00036    */
00037   template<>
00038   class TAO_Export Arg_Traits<void>
00039   {
00040     public:
00041     typedef void        ret_type;
00042 
00043     typedef RetArgument ret_val;
00044     typedef Void_Return_Argument
00045                         clonable_ret_val;
00046   };
00047 
00048   /**
00049    *
00050    * @brief Specializations for basic stub arg types,
00051    *  except (w)char/boolean/octet.
00052    *
00053    */
00054 
00055   template<>
00056   class TAO_Export Arg_Traits<CORBA::Short>
00057     : public Basic_Arg_Traits_T<CORBA::Short,
00058                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Short> >
00059   {
00060   };
00061 
00062   template<>
00063   class TAO_Export Arg_Traits<CORBA::Long>
00064     : public Basic_Arg_Traits_T<CORBA::Long,
00065                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Long> >
00066   {
00067   };
00068 
00069   template<>
00070   class TAO_Export Arg_Traits<CORBA::UShort>
00071     : public Basic_Arg_Traits_T<CORBA::UShort,
00072                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::UShort> >
00073   {
00074   };
00075 
00076   template<>
00077   class TAO_Export Arg_Traits<CORBA::ULong>
00078     : public Basic_Arg_Traits_T<CORBA::ULong,
00079                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::ULong> >
00080   {
00081   };
00082 
00083   template<>
00084   class TAO_Export Arg_Traits<CORBA::Float>
00085     : public Basic_Arg_Traits_T<CORBA::Float,
00086                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Float> >
00087   {
00088   };
00089 
00090   template<>
00091   class TAO_Export Arg_Traits<CORBA::Double>
00092     : public Basic_Arg_Traits_T<CORBA::Double,
00093                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Double> >
00094   {
00095   };
00096 
00097   template<>
00098   class TAO_Export Arg_Traits<CORBA::LongLong>
00099     : public Basic_Arg_Traits_T<CORBA::LongLong,
00100                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::LongLong> >
00101   {
00102   };
00103 
00104   template<>
00105   class TAO_Export Arg_Traits<CORBA::ULongLong>
00106     : public Basic_Arg_Traits_T<CORBA::ULongLong,
00107                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::ULongLong> >
00108   {
00109   };
00110 
00111   template<>
00112   class TAO_Export Arg_Traits<CORBA::LongDouble>
00113     : public Basic_Arg_Traits_T<CORBA::LongDouble,
00114                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::LongDouble> >
00115   {
00116   };
00117 }
00118 
00119 TAO_END_VERSIONED_NAMESPACE_DECL
00120 
00121 #include /**/ "ace/post.h"
00122 
00123 #endif /* TAO_BASIC_ARGUMENTS_H */

Generated on Tue Feb 2 17:37:51 2010 for TAO by  doxygen 1.4.7