Object_Reference_Traits_Base_T.h

Go to the documentation of this file.
00001 #ifndef object_reference_traits_base_hpp
00002 #define object_reference_traits_base_hpp
00003 /**
00004  * @file
00005  *
00006  * @brief Base class for the object reference traits.
00007  *
00008  * Object_Reference_Traits_Base_T.h,v 1.2 2006/04/19 08:21:28 jwillemsen Exp
00009  *
00010  * @author Carlos O'Ryan
00011  */
00012 
00013 #include "tao/Objref_VarOut_T.h"
00014 
00015 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00016 
00017 namespace TAO
00018 {
00019 namespace details
00020 {
00021 
00022 template<typename object_t, typename object_t_var>
00023 struct object_reference_traits_base
00024 {
00025   typedef object_t object_type;
00026   typedef object_type * value_type;
00027   typedef object_type const * const_value_type;
00028   typedef object_t_var object_type_var;
00029 
00030   inline static void release(object_type * object)
00031   {
00032     TAO::Objref_Traits<object_type>::release(object);
00033   }
00034 
00035   inline static object_type * duplicate(object_type * object)
00036   {
00037     return TAO::Objref_Traits<object_type>::duplicate(object);
00038   }
00039 
00040   inline static object_type * nil()
00041   {
00042     return TAO::Objref_Traits<object_type>::nil();
00043   }
00044 
00045   inline static object_type * default_initializer()
00046   {
00047     return nil();
00048   }
00049 };
00050 
00051 } // namespace details
00052 } // namespace TAO
00053 
00054 TAO_END_VERSIONED_NAMESPACE_DECL
00055 
00056 #endif // object_reference_traits_base_hpp

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