Any_Array_Impl_T.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Any_Array_Impl_T.h
00006  *
00007  *  $Id: Any_Array_Impl_T.h 76551 2007-01-24 13:42:44Z johnnyw $
00008  *
00009  *  @authors  Carlos O'Ryan and Jeff Parsons
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_ANY_ARRAY_IMPL_T_H
00015 #define TAO_ANY_ARRAY_IMPL_T_H
00016 
00017 #include /**/ "ace/pre.h"
00018 
00019 #include "tao/AnyTypeCode/Any_Impl.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026 
00027 namespace TAO
00028 {
00029   /**
00030    * @class Any_Array_Impl_T
00031    *
00032    * @brief Template Any class for array types.
00033    *
00034    * Used for arrays
00035    */
00036   template<typename T_slice, typename T_forany>
00037   class Any_Array_Impl_T : public Any_Impl
00038   {
00039   public:
00040     Any_Array_Impl_T (_tao_destructor destructor,
00041                       CORBA::TypeCode_ptr,
00042                       T_slice * const);
00043     virtual ~Any_Array_Impl_T (void);
00044 
00045     static void insert (CORBA::Any &,
00046                         _tao_destructor destructor,
00047                         CORBA::TypeCode_ptr,
00048                         T_slice * const);
00049     static CORBA::Boolean extract (const CORBA::Any &,
00050                                    _tao_destructor,
00051                                    CORBA::TypeCode_ptr,
00052                                    T_slice *&);
00053 
00054     virtual CORBA::Boolean marshal_value (TAO_OutputCDR &);
00055     CORBA::Boolean demarshal_value (TAO_InputCDR &);
00056     virtual void _tao_decode (TAO_InputCDR &
00057                               );
00058 
00059     virtual const void *value (void) const;
00060     virtual void free_value (void);
00061 
00062   private:
00063     T_slice * value_;
00064   };
00065 }
00066 
00067 TAO_END_VERSIONED_NAMESPACE_DECL
00068 
00069 #if defined (__ACE_INLINE__)
00070 # include "tao/AnyTypeCode/Any_Array_Impl_T.inl"
00071 #endif /* __ACE_INLINE__ */
00072 
00073 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00074 #include "tao/AnyTypeCode/Any_Array_Impl_T.cpp"
00075 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
00076 
00077 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00078 #pragma implementation ("Any_Array_Impl_T.cpp")
00079 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
00080 
00081 #include /**/ "ace/post.h"
00082 
00083 #endif /* TAO_ANY_ARRAY_IMPL_T_H */
00084 

Generated on Sun Jan 27 13:21:06 2008 for TAO_AnyTypeCode by doxygen 1.3.6