#include <Var_Array_Argument_T.h>
Inheritance diagram for TAO::In_Var_Array_Clonable_Argument_T< S_forany, Insert_Policy >:
Public Member Functions | |
In_Var_Array_Clonable_Argument_T (const typename S_forany::_slice_type *x) | |
virtual | ~In_Var_Array_Clonable_Argument_T (void) |
virtual Argument * | clone (void) |
Template method to clone a TAO Argument. | |
Private Attributes | |
bool | is_clone_ |
Definition at line 59 of file Var_Array_Argument_T.h.
|
Definition at line 29 of file Var_Array_Argument_T.inl.
00030 : In_Var_Array_Argument_T<S_forany,Insert_Policy> (x), 00031 is_clone_ (false) 00032 {} |
|
Definition at line 39 of file Var_Array_Argument_T.cpp.
00040 { 00041 if (this->is_clone_) 00042 { 00043 typedef TAO::details::array_traits<S_forany> ARRAY_TRAITS; 00044 typename ARRAY_TRAITS::slice_type * tmp = 00045 const_cast<typename ARRAY_TRAITS::slice_type*> (this->x_.in ()); 00046 ARRAY_TRAITS::free (tmp); 00047 } 00048 } |
|
Template method to clone a TAO Argument.
Reimplemented from TAO::Argument. Definition at line 53 of file Var_Array_Argument_T.cpp. References ACE_ALLOCATOR_RETURN, and TAO::In_Var_Array_Clonable_Argument_T< S_forany, Insert_Policy >::is_clone_.
00054 { 00055 typedef TAO::details::array_traits<S_forany> ARRAY_TRAITS; 00056 typename ARRAY_TRAITS::slice_type * tmp_ptr = 0; 00057 ACE_ALLOCATOR_RETURN (tmp_ptr, 00058 ARRAY_TRAITS::alloc (), 00059 0); 00060 ARRAY_TRAITS::copy(tmp_ptr, this->x_.in ()); 00061 00062 In_Var_Array_Clonable_Argument_T<S_forany,Insert_Policy>* clone_arg 00063 = new In_Var_Array_Clonable_Argument_T<S_forany,Insert_Policy> (tmp_ptr); 00064 clone_arg->is_clone_ = true; 00065 return clone_arg; 00066 } |
|
Definition at line 69 of file Var_Array_Argument_T.h. Referenced by TAO::In_Var_Array_Clonable_Argument_T< S_forany, Insert_Policy >::clone(). |