diff options
Diffstat (limited to 'TAO/tao/String_Sequence_Element_T.h')
-rw-r--r-- | TAO/tao/String_Sequence_Element_T.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/TAO/tao/String_Sequence_Element_T.h b/TAO/tao/String_Sequence_Element_T.h index 9d7a2bec549..ff7f7403fcd 100644 --- a/TAO/tao/String_Sequence_Element_T.h +++ b/TAO/tao/String_Sequence_Element_T.h @@ -28,16 +28,16 @@ public: typedef character_type * value_type; typedef character_type const * const_value_type; typedef typename traits::string_var string_var; + typedef typename traits::string_out string_out; typedef typename traits::string_mgr string_mgr; private: - inline string_sequence_element<traits> & pseudo_copy_swap( - string_var & rhs) + inline string_sequence_element<traits> & pseudo_copy_swap(string_var & rhs) { if (release()) - { - traits::release(*element_); - } + { + traits::release(*element_); + } *element_ = rhs._retn(); return *this; } @@ -100,6 +100,20 @@ public: return *this->element_; } + inline character_type *&inout (void) const { + return *this->element_; + } + + inline string_out out (void) const { + return *this->element_; + } + + inline const character_type *_retn (void) { + value_type * copy_ = this->element_; + *this->element_ = traits::default_initializer(); + return *copy_; + } + void swap(string_sequence_element & rhs) { std::swap(element_, rhs.element_); |