diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
commit | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (patch) | |
tree | da50d054f9c761c3f6a5923f6979e93306c56d68 /TAO/tao/String_Sequence_Element_T.h | |
parent | 0e555b9150d38e3b3473ba325b56db2642e6352b (diff) | |
download | ATCD-6b846cf03c0bcbd8c276cb0af61a181e5f98eaae.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tao/String_Sequence_Element_T.h')
-rw-r--r-- | TAO/tao/String_Sequence_Element_T.h | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/TAO/tao/String_Sequence_Element_T.h b/TAO/tao/String_Sequence_Element_T.h deleted file mode 100644 index 9d7a2bec549..00000000000 --- a/TAO/tao/String_Sequence_Element_T.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef guard_string_sequence_element_hpp -#define guard_string_sequence_element_hpp -/** - * @file - * - * @brief Implement the type returned by operator[] in string - * sequences. - * - * $Id$ - * - * @author Carlos O'Ryan - */ - -#include "tao/Basic_Types.h" - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -namespace TAO -{ -namespace details -{ - -template<typename traits> -class string_sequence_element -{ -public: - typedef typename traits::char_type character_type; - typedef character_type * value_type; - typedef character_type const * const_value_type; - typedef typename traits::string_var string_var; - typedef typename traits::string_mgr string_mgr; - -private: - inline string_sequence_element<traits> & pseudo_copy_swap( - string_var & rhs) - { - if (release()) - { - traits::release(*element_); - } - *element_ = rhs._retn(); - return *this; - } - -public: - string_sequence_element( - value_type & e, CORBA::Boolean release) - : element_(&e) - , release_(release) - { - } - - string_sequence_element( - string_sequence_element const & rhs) - : element_(rhs.element_) - , release_(rhs.release_) - { - } - - ~string_sequence_element() - { - } - - string_sequence_element & operator=(const_value_type rhs) - { - string_var tmp(rhs); - return pseudo_copy_swap(tmp); - } - - string_sequence_element & operator=(value_type rhs) - { - string_var tmp(rhs); - return pseudo_copy_swap(tmp); - } - - string_sequence_element & operator=(string_sequence_element const & rhs) - { - string_var tmp(static_cast<const_value_type>(rhs)); - return pseudo_copy_swap(tmp); - } - - string_sequence_element & operator=(string_var const & rhs) - { - string_var tmp(rhs); - return pseudo_copy_swap(tmp); - } - - string_sequence_element & operator=(string_mgr const & rhs) - { - string_var tmp(rhs.in()); - return pseudo_copy_swap(tmp); - } - - inline operator const_value_type() const - { - return *this->element_; - } - - inline const character_type *in (void) const { - return *this->element_; - } - - void swap(string_sequence_element & rhs) - { - std::swap(element_, rhs.element_); - std::swap(release_, rhs.release_); - } - - CORBA::Boolean release() const - { - return this->release_; - } - -private: - // This function is not implemented - string_sequence_element(); - -private: - value_type * element_; - CORBA::Boolean release_; -}; - -} // namespace details -} // namespace CORBA - -TAO_END_VERSIONED_NAMESPACE_DECL - -#endif // guard_string_sequence_element_hpp |