TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy > Class Template Reference

Template class for IN bounded (w)string argument. More...

#include <BD_String_Argument_T.h>

Inheritance diagram for TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >:

Inheritance graph
[legend]
Collaboration diagram for TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 In_BD_String_Clonable_Argument_T (const typename S_var::s_traits::char_type *x)
virtual ~In_BD_String_Clonable_Argument_T (void)
virtual Argumentclone (void)
 Template method to clone a TAO Argument.

Private Attributes

bool is_clone_

Detailed Description

template<typename S_var, size_t BOUND, class Insert_Policy>
class TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >

Template class for IN bounded (w)string argument.

Definition at line 67 of file BD_String_Argument_T.h.


Constructor & Destructor Documentation

template<typename S_var, size_t BOUND, class Insert_Policy>
ACE_INLINE TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >::In_BD_String_Clonable_Argument_T ( const typename S_var::s_traits::char_type *  x  ) 

Definition at line 31 of file BD_String_Argument_T.inl.

00034   : In_BD_String_Argument_T<S_var,BOUND,Insert_Policy> (x),
00035     is_clone_ (false)
00036 {}

template<typename S_var, size_t BOUND, class Insert_Policy>
TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >::~In_BD_String_Clonable_Argument_T ( void   )  [virtual]

Definition at line 47 of file BD_String_Argument_T.cpp.

00048 {
00049   if (this->is_clone_)
00050     {
00051       typename S_var::s_traits::char_type * tmp =
00052             const_cast<typename S_var::s_traits::char_type *> (this->x_);
00053       delete [] tmp;
00054     }
00055 }


Member Function Documentation

template<typename S_var, size_t BOUND, class Insert_Policy>
TAO::Argument * TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >::clone ( void   )  [virtual]

Template method to clone a TAO Argument.

Reimplemented from TAO::Argument.

Definition at line 61 of file BD_String_Argument_T.cpp.

References TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >::is_clone_, and ACE_OS::strncpy().

00062 {
00063   typename S_var::s_traits::char_type * clone_x =
00064              new typename S_var::s_traits::char_type [BOUND];
00065   ACE_OS::strncpy (clone_x, this->x_, BOUND);
00066   In_BD_String_Clonable_Argument_T<S_var,BOUND,Insert_Policy>* clone_arg =
00067     new In_BD_String_Clonable_Argument_T<S_var,BOUND,Insert_Policy> (clone_x);
00068   clone_arg->is_clone_ = true;
00069   return clone_arg;
00070 }


Member Data Documentation

template<typename S_var, size_t BOUND, class Insert_Policy>
bool TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >::is_clone_ [private]

Definition at line 76 of file BD_String_Argument_T.h.

Referenced by TAO::In_BD_String_Clonable_Argument_T< S_var, BOUND, Insert_Policy >::clone().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:10 2010 for TAO by  doxygen 1.4.7