xapian-core  1.4.25
Public Member Functions | Private Types | Private Attributes | List of all members
Xapian::Internal::intrusive_ptr< T > Class Template Reference

A smart pointer that uses intrusive reference counting. More...

#include <intrusive_ptr.h>

+ Inheritance diagram for Xapian::Internal::intrusive_ptr< T >:
+ Collaboration diagram for Xapian::Internal::intrusive_ptr< T >:

Public Member Functions

 intrusive_ptr ()
 
 intrusive_ptr (T *p)
 
template<class U >
 intrusive_ptr (intrusive_ptr< U > const &rhs)
 
 intrusive_ptr (intrusive_ptr const &rhs)
 
 ~intrusive_ptr ()
 
intrusive_ptroperator= (intrusive_ptr const &rhs)
 
intrusive_ptroperator= (T *rhs)
 
T * get () const
 
T & operator* () const
 
T * operator-> () const
 
void swap (intrusive_ptr &rhs)
 

Private Types

typedef intrusive_ptr this_type
 

Private Attributes

T * px
 

Detailed Description

template<class T>
class Xapian::Internal::intrusive_ptr< T >

A smart pointer that uses intrusive reference counting.

Definition at line 81 of file intrusive_ptr.h.

Member Typedef Documentation

◆ this_type

template<class T>
typedef intrusive_ptr Xapian::Internal::intrusive_ptr< T >::this_type
private

Definition at line 85 of file intrusive_ptr.h.

Constructor & Destructor Documentation

◆ intrusive_ptr() [1/4]

template<class T>
Xapian::Internal::intrusive_ptr< T >::intrusive_ptr ( )
inline

Definition at line 89 of file intrusive_ptr.h.

◆ intrusive_ptr() [2/4]

template<class T>
Xapian::Internal::intrusive_ptr< T >::intrusive_ptr ( T *  p)
inline

Definition at line 93 of file intrusive_ptr.h.

◆ intrusive_ptr() [3/4]

template<class T>
template<class U >
Xapian::Internal::intrusive_ptr< T >::intrusive_ptr ( intrusive_ptr< U > const &  rhs)
inline

Definition at line 99 of file intrusive_ptr.h.

◆ intrusive_ptr() [4/4]

template<class T>
Xapian::Internal::intrusive_ptr< T >::intrusive_ptr ( intrusive_ptr< T > const &  rhs)
inline

Definition at line 105 of file intrusive_ptr.h.

◆ ~intrusive_ptr()

template<class T>
Xapian::Internal::intrusive_ptr< T >::~intrusive_ptr ( )
inline

Definition at line 110 of file intrusive_ptr.h.

Member Function Documentation

◆ get()

template<class T>
T* Xapian::Internal::intrusive_ptr< T >::get ( ) const
inline

◆ operator*()

template<class T>
T& Xapian::Internal::intrusive_ptr< T >::operator* ( ) const
inline

Definition at line 160 of file intrusive_ptr.h.

◆ operator->()

template<class T>
T* Xapian::Internal::intrusive_ptr< T >::operator-> ( ) const
inline

Definition at line 165 of file intrusive_ptr.h.

◆ operator=() [1/2]

template<class T>
intrusive_ptr& Xapian::Internal::intrusive_ptr< T >::operator= ( intrusive_ptr< T > const &  rhs)
inline

Definition at line 143 of file intrusive_ptr.h.

◆ operator=() [2/2]

template<class T>
intrusive_ptr& Xapian::Internal::intrusive_ptr< T >::operator= ( T *  rhs)
inline

Definition at line 149 of file intrusive_ptr.h.

◆ swap()

template<class T>
void Xapian::Internal::intrusive_ptr< T >::swap ( intrusive_ptr< T > &  rhs)
inline

Member Data Documentation

◆ px

template<class T>
T* Xapian::Internal::intrusive_ptr< T >::px
private

The documentation for this class was generated from the following file: