Seq_Out_T.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file Seq_Out_T.h
00006  *
00007  *  Seq_Out_T.h,v 1.8 2006/04/19 08:45:46 jwillemsen Exp
00008  *
00009  *  @author Jeff Parsons
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_SEQ_OUT_T_H
00014 #define TAO_SEQ_OUT_T_H
00015 #include /**/ "ace/pre.h"
00016 
00017 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00018 # pragma once
00019 #endif /* ACE_LACKS_PRAGMA_ONCE */
00020 
00021 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00022 
00023 /**
00024  * @class TAO_Seq_Out_T
00025  *
00026  * @brief Parametrized implementation of _out class for sequences.
00027  *
00028  */
00029 template <typename T>
00030 class TAO_Seq_Out_T
00031 {
00032 public:
00033   typedef typename T::subscript_type T_elem;
00034   typedef typename T::_var_type T_var;
00035 
00036   TAO_Seq_Out_T (T *&);
00037   TAO_Seq_Out_T (T_var &);
00038   TAO_Seq_Out_T (const TAO_Seq_Out_T<T> &);
00039 
00040   TAO_Seq_Out_T &operator= (const TAO_Seq_Out_T<T> &);
00041   TAO_Seq_Out_T &operator= (T *);
00042 
00043   operator T *& ();
00044   T * operator-> (void);
00045 
00046   T_elem  operator[] (CORBA::ULong index);
00047   T *& ptr (void);
00048 
00049 private:
00050   T *& ptr_;
00051   // Assignment from T_var not allowed.
00052   void operator= (const T_var &);
00053 };
00054 
00055 TAO_END_VERSIONED_NAMESPACE_DECL
00056 
00057 #if defined (__ACE_INLINE__)
00058 #include "tao/Seq_Out_T.inl"
00059 #endif /* defined INLINE */
00060 
00061 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00062 #include "tao/Seq_Out_T.cpp"
00063 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
00064 
00065 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00066 #pragma implementation ("Seq_Out_T.cpp")
00067 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
00068 
00069 #include /**/ "ace/post.h"
00070 #endif /* TAO_SEQ_OUT_T_H */

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