TAO::details::string_sequence_element< traits > Class Template Reference

#include <String_Sequence_Element_T.h>

List of all members.

Public Types

typedef traits::char_type character_type
typedef character_typevalue_type
typedef character_type const * const_value_type
typedef traits::string_var string_var
typedef traits::string_mgr string_mgr

Public Member Functions

 string_sequence_element (value_type &e, CORBA::Boolean release)
 string_sequence_element (string_sequence_element const &rhs)
 ~string_sequence_element ()
string_sequence_elementoperator= (const_value_type rhs)
string_sequence_elementoperator= (value_type rhs)
string_sequence_elementoperator= (string_sequence_element const &rhs)
string_sequence_elementoperator= (string_var const &rhs)
string_sequence_elementoperator= (string_mgr const &rhs)
 operator const_value_type () const
const character_typein (void) const
void swap (string_sequence_element &rhs)
CORBA::Boolean release () const

Private Member Functions

string_sequence_element< traits > & pseudo_copy_swap (string_var &rhs)
 string_sequence_element ()

Private Attributes

value_typeelement_
CORBA::Boolean release_

template<typename traits>
class TAO::details::string_sequence_element< traits >


Member Typedef Documentation

template<typename traits>
typedef traits::char_type TAO::details::string_sequence_element< traits >::character_type
 

Definition at line 27 of file String_Sequence_Element_T.h.

template<typename traits>
typedef character_type const* TAO::details::string_sequence_element< traits >::const_value_type
 

Definition at line 29 of file String_Sequence_Element_T.h.

template<typename traits>
typedef traits::string_mgr TAO::details::string_sequence_element< traits >::string_mgr
 

Definition at line 31 of file String_Sequence_Element_T.h.

template<typename traits>
typedef traits::string_var TAO::details::string_sequence_element< traits >::string_var
 

Definition at line 30 of file String_Sequence_Element_T.h.

Referenced by TAO::details::string_sequence_element< traits >::operator=(), and TAO::details::string_sequence_element< traits >::pseudo_copy_swap().

template<typename traits>
typedef character_type* TAO::details::string_sequence_element< traits >::value_type
 

Definition at line 28 of file String_Sequence_Element_T.h.


Constructor & Destructor Documentation

template<typename traits>
TAO::details::string_sequence_element< traits >::string_sequence_element value_type e,
CORBA::Boolean  release
[inline]
 

Definition at line 46 of file String_Sequence_Element_T.h.

00048     : element_(&e)
00049     , release_(release)
00050   {
00051   }

template<typename traits>
TAO::details::string_sequence_element< traits >::string_sequence_element string_sequence_element< traits > const &  rhs  )  [inline]
 

Definition at line 53 of file String_Sequence_Element_T.h.

00055     : element_(rhs.element_)
00056     , release_(rhs.release_)
00057   {
00058   }

template<typename traits>
TAO::details::string_sequence_element< traits >::~string_sequence_element  )  [inline]
 

Definition at line 60 of file String_Sequence_Element_T.h.

00061   {
00062   }

template<typename traits>
TAO::details::string_sequence_element< traits >::string_sequence_element  )  [private]
 


Member Function Documentation

template<typename traits>
const character_type* TAO::details::string_sequence_element< traits >::in void   )  const [inline]
 

Definition at line 99 of file String_Sequence_Element_T.h.

00099                                                {
00100     return *this->element_;
00101   }

template<typename traits>
TAO::details::string_sequence_element< traits >::operator const_value_type  )  const [inline]
 

Definition at line 94 of file String_Sequence_Element_T.h.

00095   {
00096     return *this->element_;
00097   }

template<typename traits>
string_sequence_element& TAO::details::string_sequence_element< traits >::operator= string_mgr const &  rhs  )  [inline]
 

Definition at line 88 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), and TAO::details::string_sequence_element< traits >::string_var.

00089   {
00090     string_var tmp(rhs.in());
00091     return pseudo_copy_swap(tmp);
00092   }

template<typename traits>
string_sequence_element& TAO::details::string_sequence_element< traits >::operator= string_var const &  rhs  )  [inline]
 

Definition at line 82 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), and TAO::details::string_sequence_element< traits >::string_var.

00083   {
00084     string_var tmp(rhs);
00085     return pseudo_copy_swap(tmp);
00086   }

template<typename traits>
string_sequence_element& TAO::details::string_sequence_element< traits >::operator= string_sequence_element< traits > const &  rhs  )  [inline]
 

Definition at line 76 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), and TAO::details::string_sequence_element< traits >::string_var.

00077   {
00078     string_var tmp(static_cast<const_value_type>(rhs));
00079     return pseudo_copy_swap(tmp);
00080   }

template<typename traits>
string_sequence_element& TAO::details::string_sequence_element< traits >::operator= value_type  rhs  )  [inline]
 

Definition at line 70 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), and TAO::details::string_sequence_element< traits >::string_var.

00071   {
00072     string_var tmp(rhs);
00073     return pseudo_copy_swap(tmp);
00074   }

template<typename traits>
string_sequence_element& TAO::details::string_sequence_element< traits >::operator= const_value_type  rhs  )  [inline]
 

Definition at line 64 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), and TAO::details::string_sequence_element< traits >::string_var.

00065   {
00066     string_var tmp(rhs);
00067     return pseudo_copy_swap(tmp);
00068   }

template<typename traits>
string_sequence_element<traits>& TAO::details::string_sequence_element< traits >::pseudo_copy_swap string_var rhs  )  [inline, private]
 

Definition at line 34 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::release(), and TAO::details::string_sequence_element< traits >::string_var.

Referenced by TAO::details::string_sequence_element< traits >::operator=().

00036   {
00037     if (release())
00038     {
00039       traits::release(*element_);
00040     }
00041     *element_ = rhs._retn();
00042     return *this;
00043   }

template<typename traits>
CORBA::Boolean TAO::details::string_sequence_element< traits >::release void   )  const [inline]
 

Definition at line 109 of file String_Sequence_Element_T.h.

Referenced by TAO::details::string_sequence_element< traits >::pseudo_copy_swap().

00110   {
00111     return this->release_;
00112   }

template<typename traits>
void TAO::details::string_sequence_element< traits >::swap string_sequence_element< traits > &  rhs  )  [inline]
 

Definition at line 103 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::element_, and TAO::details::string_sequence_element< traits >::release_.

00104   {
00105     std::swap(element_, rhs.element_);
00106     std::swap(release_, rhs.release_);
00107   }


Member Data Documentation

template<typename traits>
value_type* TAO::details::string_sequence_element< traits >::element_ [private]
 

Definition at line 119 of file String_Sequence_Element_T.h.

Referenced by TAO::details::string_sequence_element< traits >::swap().

template<typename traits>
CORBA::Boolean TAO::details::string_sequence_element< traits >::release_ [private]
 

Definition at line 120 of file String_Sequence_Element_T.h.

Referenced by TAO::details::string_sequence_element< traits >::swap().


The documentation for this class was generated from the following file:
Generated on Thu Nov 9 12:27:42 2006 for TAO by doxygen 1.3.6