Public Types | Public Member Functions | Private Member Functions | Private Attributes

TAO::details::valuetype_sequence_element< obj_ref_traits > Class Template Reference

#include <Valuetype_Sequence_Element_T.h>

List of all members.

Public Types

typedef obj_ref_traits::object_type valuetype_type
typedef valuetype_type * value_type
typedef valuetype_type const * const_value_type
typedef
obj_ref_traits::object_type_var 
valuetype_var

Public Member Functions

 valuetype_sequence_element (value_type &e, CORBA::Boolean release)
 valuetype_sequence_element (valuetype_sequence_element const &rhs)
 ~valuetype_sequence_element ()
valuetype_sequence_elementoperator= (valuetype_var const &rhs)
valuetype_sequence_elementoperator= (valuetype_sequence_element const &rhs)
valuetype_sequence_elementoperator= (value_type rhs)
 operator value_type ()
 operator const_value_type () const
value_type operator-> ()
value_type operator-> () const
void swap (valuetype_sequence_element &rhs)
CORBA::Boolean release () const

Private Member Functions

valuetype_sequence_element
< obj_ref_traits > & 
pseudo_copy_swap (valuetype_var &rhs)
 valuetype_sequence_element ()

Private Attributes

value_type * element_
CORBA::Boolean release_

Detailed Description

template<typename obj_ref_traits>
class TAO::details::valuetype_sequence_element< obj_ref_traits >

Definition at line 25 of file Valuetype_Sequence_Element_T.h.


Member Typedef Documentation

template<typename obj_ref_traits >
typedef valuetype_type const* TAO::details::valuetype_sequence_element< obj_ref_traits >::const_value_type

Definition at line 30 of file Valuetype_Sequence_Element_T.h.

template<typename obj_ref_traits >
typedef valuetype_type* TAO::details::valuetype_sequence_element< obj_ref_traits >::value_type

Definition at line 29 of file Valuetype_Sequence_Element_T.h.

template<typename obj_ref_traits >
typedef obj_ref_traits::object_type TAO::details::valuetype_sequence_element< obj_ref_traits >::valuetype_type

Definition at line 28 of file Valuetype_Sequence_Element_T.h.

template<typename obj_ref_traits >
typedef obj_ref_traits::object_type_var TAO::details::valuetype_sequence_element< obj_ref_traits >::valuetype_var

Definition at line 31 of file Valuetype_Sequence_Element_T.h.


Constructor & Destructor Documentation

template<typename obj_ref_traits >
TAO::details::valuetype_sequence_element< obj_ref_traits >::valuetype_sequence_element ( value_type &  e,
CORBA::Boolean  release 
) [inline]

Definition at line 46 of file Valuetype_Sequence_Element_T.h.

    : element_(&e)
    , release_(release)
  {
  }

template<typename obj_ref_traits >
TAO::details::valuetype_sequence_element< obj_ref_traits >::valuetype_sequence_element ( valuetype_sequence_element< obj_ref_traits > const &  rhs  )  [inline]

Definition at line 53 of file Valuetype_Sequence_Element_T.h.

    : element_(rhs.element_)
    , release_(rhs.release_)
  {
  }

template<typename obj_ref_traits >
TAO::details::valuetype_sequence_element< obj_ref_traits >::~valuetype_sequence_element (  )  [inline]

Definition at line 60 of file Valuetype_Sequence_Element_T.h.

  {
  }

template<typename obj_ref_traits >
TAO::details::valuetype_sequence_element< obj_ref_traits >::valuetype_sequence_element (  )  [private]

Member Function Documentation

template<typename obj_ref_traits >
TAO::details::valuetype_sequence_element< obj_ref_traits >::operator const_value_type (  )  const [inline]

Definition at line 89 of file Valuetype_Sequence_Element_T.h.

  {
    return *element_;
  }

template<typename obj_ref_traits >
TAO::details::valuetype_sequence_element< obj_ref_traits >::operator value_type (  )  [inline]

Definition at line 84 of file Valuetype_Sequence_Element_T.h.

  {
    return *element_;
  }

template<typename obj_ref_traits >
value_type TAO::details::valuetype_sequence_element< obj_ref_traits >::operator-> ( void   )  const [inline]

Definition at line 99 of file Valuetype_Sequence_Element_T.h.

  {
    return *element_;
  }

template<typename obj_ref_traits >
value_type TAO::details::valuetype_sequence_element< obj_ref_traits >::operator-> ( void   )  [inline]

Definition at line 94 of file Valuetype_Sequence_Element_T.h.

  {
    return *element_;
  }

template<typename obj_ref_traits >
valuetype_sequence_element& TAO::details::valuetype_sequence_element< obj_ref_traits >::operator= ( valuetype_var const &  rhs  )  [inline]

Definition at line 64 of file Valuetype_Sequence_Element_T.h.

  {
    valuetype_var tmp(rhs);
    return pseudo_copy_swap(tmp);
  }

template<typename obj_ref_traits >
valuetype_sequence_element& TAO::details::valuetype_sequence_element< obj_ref_traits >::operator= ( value_type  rhs  )  [inline]

Definition at line 78 of file Valuetype_Sequence_Element_T.h.

  {
    valuetype_var tmp(rhs);
    return pseudo_copy_swap(tmp);
  }

template<typename obj_ref_traits >
valuetype_sequence_element& TAO::details::valuetype_sequence_element< obj_ref_traits >::operator= ( valuetype_sequence_element< obj_ref_traits > const &  rhs  )  [inline]

Definition at line 71 of file Valuetype_Sequence_Element_T.h.

  {
    valuetype_var tmp(obj_ref_traits::duplicate(*rhs.element_));
    return pseudo_copy_swap(tmp);
  }

template<typename obj_ref_traits >
valuetype_sequence_element<obj_ref_traits>& TAO::details::valuetype_sequence_element< obj_ref_traits >::pseudo_copy_swap ( valuetype_var &  rhs  )  [inline, private]

Definition at line 34 of file Valuetype_Sequence_Element_T.h.

  {
    if (release())
    {
      obj_ref_traits::release(*element_);
    }
    *element_ = rhs._retn();
    return *this;
  }

template<typename obj_ref_traits >
CORBA::Boolean TAO::details::valuetype_sequence_element< obj_ref_traits >::release ( void   )  const [inline]

Definition at line 110 of file Valuetype_Sequence_Element_T.h.

  {
    return release_;
  }

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

Definition at line 104 of file Valuetype_Sequence_Element_T.h.

  {
    std::swap(element_, rhs.element_);
    std::swap(release_, rhs.release_);
  }


Member Data Documentation

template<typename obj_ref_traits >
value_type* TAO::details::valuetype_sequence_element< obj_ref_traits >::element_ [private]

Definition at line 120 of file Valuetype_Sequence_Element_T.h.

template<typename obj_ref_traits >
CORBA::Boolean TAO::details::valuetype_sequence_element< obj_ref_traits >::release_ [private]

Definition at line 121 of file Valuetype_Sequence_Element_T.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines