libpqxx  v4.0-1
C++ library for PostgreSQL
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pqxx::internal::refcount Class Reference

Helper class used in reference counting (doubly-linked circular list) Reference-counted smart-pointer for libpq-allocated resources. More...

#include <util.hxx>

Collaboration diagram for pqxx::internal::refcount:

Public Member Functions

 refcount ()
 
 ~refcount ()
 
bool loseref () throw ()
 Drop this reference; return whether we were the last reference. More...
 
void makeref (refcount &) throw ()
 Create additional reference based on existing refcount object. More...
 

Private Member Functions

 refcount (const refcount &)
 Not allowed. More...
 
refcountoperator= (const refcount &)
 Not allowed. More...
 

Private Attributes

refcount *volatile m_l
 
refcount *volatile *volatile m_r
 

Detailed Description

Helper class used in reference counting (doubly-linked circular list) Reference-counted smart-pointer for libpq-allocated resources.

Constructor & Destructor Documentation

pqxx::internal::refcount::refcount ( )
pqxx::internal::refcount::~refcount ( )
pqxx::internal::refcount::refcount ( const refcount )
private

Not allowed.

Member Function Documentation

bool pqxx::internal::refcount::loseref ( ) throw ()

Drop this reference; return whether we were the last reference.

Referenced by pqxx::internal::PQAlloc< const internal::result_data, internal::freemem_result_data >::loseref().

Here is the caller graph for this function:

void pqxx::internal::refcount::makeref ( refcount ) throw ()

Create additional reference based on existing refcount object.

Referenced by pqxx::internal::PQAlloc< const internal::result_data, internal::freemem_result_data >::makeref().

Here is the caller graph for this function:

refcount& pqxx::internal::refcount::operator= ( const refcount )
private

Not allowed.

Member Data Documentation

refcount* volatile pqxx::internal::refcount::m_l
private
refcount* volatile * volatile pqxx::internal::refcount::m_r
private

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