Basic_Arguments.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Basic_Arguments.h
00006  *
00007  *  Basic_Arguments.h,v 1.9 2006/06/27 06:22:13 jwillemsen Exp
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   };
00045 
00046   /**
00047    *
00048    * @brief Specializations for basic stub arg types,
00049    *  except (w)char/boolean/octet.
00050    *
00051    */
00052 
00053   template<>
00054   class TAO_Export Arg_Traits<CORBA::Short>
00055     : public Basic_Arg_Traits_T<CORBA::Short,
00056                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Short> >
00057   {
00058   };
00059 
00060   template<>
00061   class TAO_Export Arg_Traits<CORBA::Long>
00062     : public Basic_Arg_Traits_T<CORBA::Long,
00063                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Long> >
00064   {
00065   };
00066 
00067   template<>
00068   class TAO_Export Arg_Traits<CORBA::UShort>
00069     : public Basic_Arg_Traits_T<CORBA::UShort,
00070                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::UShort> >
00071   {
00072   };
00073 
00074   template<>
00075   class TAO_Export Arg_Traits<CORBA::ULong>
00076     : public Basic_Arg_Traits_T<CORBA::ULong,
00077                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::ULong> >
00078   {
00079   };
00080 
00081   template<>
00082   class TAO_Export Arg_Traits<CORBA::Float>
00083     : public Basic_Arg_Traits_T<CORBA::Float,
00084                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Float> >
00085   {
00086   };
00087 
00088   template<>
00089   class TAO_Export Arg_Traits<CORBA::Double>
00090     : public Basic_Arg_Traits_T<CORBA::Double,
00091                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::Double> >
00092   {
00093   };
00094 
00095   template<>
00096   class TAO_Export Arg_Traits<CORBA::LongLong>
00097     : public Basic_Arg_Traits_T<CORBA::LongLong,
00098                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::LongLong> >
00099   {
00100   };
00101 
00102   template<>
00103   class TAO_Export Arg_Traits<CORBA::ULongLong>
00104     : public Basic_Arg_Traits_T<CORBA::ULongLong,
00105                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::ULongLong> >
00106   {
00107   };
00108 
00109   template<>
00110   class TAO_Export Arg_Traits<CORBA::LongDouble>
00111     : public Basic_Arg_Traits_T<CORBA::LongDouble,
00112                                 TAO::Any_Insert_Policy_AnyTypeCode_Adapter <CORBA::LongDouble> >
00113   {
00114   };
00115 }
00116 
00117 TAO_END_VERSIONED_NAMESPACE_DECL
00118 
00119 #include /**/ "ace/post.h"
00120 
00121 #endif /* TAO_BASIC_ARGUMENTS_H */

Generated on Thu Nov 9 11:54:07 2006 for TAO by doxygen 1.3.6