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_out string_out
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
character_type *& inout (void) const
string_out out (void) const
const character_type_retn (void)
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_


Detailed Description

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

Definition at line 24 of file String_Sequence_Element_T.h.


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 32 of file String_Sequence_Element_T.h.

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

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.

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 >::_retn ( void   )  [inline]

Definition at line 111 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::element_.

00111                                             {
00112     value_type * copy_ = this->element_;
00113     *this->element_ = traits::default_initializer();
00114     return *copy_;
00115   }

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.

References TAO::details::string_sequence_element< traits >::element_.

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

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

Definition at line 103 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::element_.

00103                                              {
00104     return *this->element_;
00105   }

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.

References TAO::details::string_sequence_element< traits >::element_.

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().

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().

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().

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().

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().

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

template<typename traits>
string_out TAO::details::string_sequence_element< traits >::out ( void   )  const [inline]

Definition at line 107 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::element_.

00107                                      {
00108     return *this->element_;
00109   }

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

Definition at line 35 of file String_Sequence_Element_T.h.

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

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 123 of file String_Sequence_Element_T.h.

References TAO::details::string_sequence_element< traits >::release_.

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

00124   {
00125     return this->release_;
00126   }

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

Definition at line 117 of file String_Sequence_Element_T.h.

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

00118   {
00119     std::swap(element_, rhs.element_);
00120     std::swap(release_, rhs.release_);
00121   }


Member Data Documentation

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

Definition at line 133 of file String_Sequence_Element_T.h.

Referenced by TAO::details::string_sequence_element< traits >::_retn(), TAO::details::string_sequence_element< traits >::in(), TAO::details::string_sequence_element< traits >::inout(), TAO::details::string_sequence_element< traits >::operator const_value_type(), TAO::details::string_sequence_element< traits >::out(), TAO::details::string_sequence_element< traits >::pseudo_copy_swap(), and TAO::details::string_sequence_element< traits >::swap().

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

Definition at line 134 of file String_Sequence_Element_T.h.

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


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