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

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

#include <intrusive_ptr.h>

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

Public Member Functions

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

Private Types

typedef opt_intrusive_ptr this_type
 

Private Attributes

T * px
 
bool counting
 

Detailed Description

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

A smart pointer that optionally uses intrusive reference counting.

Definition at line 273 of file intrusive_ptr.h.

Member Typedef Documentation

◆ this_type

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

Definition at line 277 of file intrusive_ptr.h.

Constructor & Destructor Documentation

◆ opt_intrusive_ptr() [1/4]

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

Definition at line 281 of file intrusive_ptr.h.

◆ opt_intrusive_ptr() [2/4]

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

Definition at line 285 of file intrusive_ptr.h.

◆ opt_intrusive_ptr() [3/4]

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

Definition at line 291 of file intrusive_ptr.h.

◆ opt_intrusive_ptr() [4/4]

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

Definition at line 297 of file intrusive_ptr.h.

◆ ~opt_intrusive_ptr()

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

Definition at line 303 of file intrusive_ptr.h.

Member Function Documentation

◆ get()

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

◆ operator*()

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

Definition at line 357 of file intrusive_ptr.h.

◆ operator->()

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

Definition at line 362 of file intrusive_ptr.h.

◆ operator=() [1/2]

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

Definition at line 340 of file intrusive_ptr.h.

◆ operator=() [2/2]

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

Definition at line 346 of file intrusive_ptr.h.

◆ swap()

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

Member Data Documentation

◆ counting

template<class T>
bool Xapian::Internal::opt_intrusive_ptr< T >::counting
private

◆ px

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

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