4 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
8 PortableServer::Servant_var<T>::swap (Servant_var<T> & rhs) /* noexcept */
10 std::swap (this->ptr_, rhs.ptr_);
15 PortableServer::Servant_var<T>::Servant_var (T * p)
20 // If _add_ref throws, this object will not be completely constructed
21 // so the destructor will not be called.
24 PortableServer::Servant_var<T>::Servant_var (Servant_var<T> const & rhs)
25 : ptr_ (Servant_var<T>::_duplicate(rhs.ptr_))
30 ACE_INLINE PortableServer::Servant_var<T> &
31 PortableServer::Servant_var<T>::operator= (Servant_var<T> const & rhs)
33 PortableServer::Servant_var<T> tmp (rhs);
39 ACE_INLINE typename PortableServer::Servant_var<T> &
40 PortableServer::Servant_var<T>::operator= (T * p)
44 // This constructor doesn't increase the reference count, nor is
45 // it a copy constructor, so we must check for self-assignment.
46 // Otherwise the reference count would be prematurely
47 // decremented upon exiting this scope.
48 PortableServer::Servant_var<T> tmp (p);
57 PortableServer::Servant_var<T>::operator->() const
64 PortableServer::Servant_var<T>::operator*() const
71 PortableServer::Servant_var<T>::operator*()
77 ACE_INLINE PortableServer::Servant_var<T>::operator void const * () const
84 PortableServer::Servant_var<T>::in () const
91 PortableServer::Servant_var<T>::inout ()
98 PortableServer::Servant_var<T>::out ()
100 PortableServer::Servant_var<T> tmp;
107 PortableServer::Servant_var<T>::_retn ()
109 T * const rval = ptr_;
114 template <class X, class Y>
116 operator== (typename PortableServer::Servant_var<X> const & x,
117 typename PortableServer::Servant_var<Y> const & y)
119 return x.in () == y.in ();
122 template <class X, class Y>
124 operator!= (typename PortableServer::Servant_var<X> const & x,
125 typename PortableServer::Servant_var<Y> const & y)
127 return x.in () != y.in ();
130 TAO_END_VERSIONED_NAMESPACE_DECL