#include <RefCount.h>

Collaboration diagram for RefCount< C >:

Public Member Functions

 RefCount ()
 
 RefCount (C const *p)
 
 ~RefCount ()
 
 RefCount (const RefCount &p)
 
 RefCount (RefCount &&p)
 
template<class Other >
 RefCount (const RefCount< Other > &p)
 Base::Pointer = Derived::Pointer. More...
 
RefCountoperator= (const RefCount &p)
 
RefCountoperator= (RefCount &&p)
 
 operator bool () const
 
bool operator! () const
 
Coperator-> () const
 
Coperator* () const
 
CgetRaw () const
 
bool operator== (const RefCount &p) const
 
bool operator!= (const RefCount &p) const
 

Private Member Functions

void dereference (C const *newP=NULL)
 
void reference (const RefCount &p)
 

Private Attributes

C const * p_
 

Detailed Description

template<class C>
class RefCount< C >

Template for Reference Counting pointers.

Objects of type 'C' must inherit from 'RefCountable' in base/Lock.h which provides the locking interface used by reference counting.

Definition at line 26 of file RefCount.h.

Constructor & Destructor Documentation

◆ RefCount() [1/5]

template<class C >
RefCount< C >::RefCount ( )
inline

Definition at line 30 of file RefCount.h.

◆ RefCount() [2/5]

template<class C >
RefCount< C >::RefCount ( C const *  p)
inline

Definition at line 32 of file RefCount.h.

◆ ~RefCount()

template<class C >
RefCount< C >::~RefCount ( )
inline

Definition at line 34 of file RefCount.h.

◆ RefCount() [3/5]

template<class C >
RefCount< C >::RefCount ( const RefCount< C > &  p)
inline

Definition at line 38 of file RefCount.h.

◆ RefCount() [4/5]

template<class C >
RefCount< C >::RefCount ( RefCount< C > &&  p)
inline

Definition at line 42 of file RefCount.h.

◆ RefCount() [5/5]

template<class C >
template<class Other >
RefCount< C >::RefCount ( const RefCount< Other > &  p)
inline

Definition at line 48 of file RefCount.h.

Member Function Documentation

◆ dereference()

template<class C >
void RefCount< C >::dereference ( C const *  newP = NULL)
inlineprivate

◆ getRaw()

template<class C >
C* RefCount< C >::getRaw ( ) const
inline

Definition at line 80 of file RefCount.h.

Referenced by esiChoose::esiChoose(), ESIInclude::ESIInclude(), Snmp::Inquirer::Inquirer(), SBuf::Locker::Locker(), actualReplyHeader(), external_acl::add(), esiRemove::addElement(), esiTry::addElement(), esiChoose::addElement(), esiSequence::addElement(), ESIContext::addStackElement(), addSwapDir(), ESISegment::adsorbList(), TunnelStateData::advanceDestination(), ESIContext::appendOutboundData(), Mgr::Inquirer::applyQueryParams(), asnCacheStart(), Format::Format::assemble(), authenticateAuthenticateUser(), ErrorState::buildBody(), ErrorState::BuildHttpReply(), Downloader::buildRequest(), HttpStateData::buildRequestPrefix(), ConnStateData::buildSslCertGenerationParams(), StoreEntry::calcPublicKey(), DiskdFile::canNotifyClient(), htcpSpecifier::checkHit(), esiChoose::checkValidSource(), clientAclChecklistFill(), clientGetMoreData(), clientReplyStatus(), clientStreamCallback(), clientStreamDetach(), clientStreamInsertHead(), clientStreamRead(), ESISegment::cloneList(), BlockingFile::close(), DiskdFile::close(), DiskThreadsDiskFile::close(), comm_read_cancel(), ErrorState::compileLegacyCode(), TunnelStateData::connectDone(), DiskdFile::create(), Fs::Ufs::UFSStrategy::create(), Ftp::Server::doProcessRequest(), HttpStateData::drop1xx(), ErrorState::Dump(), ESISegment::dumpToLog(), Adaptation::Icap::ModXact::encapsulateHead(), esiBufferRecipient(), esiProcessStream(), esiStreamDetach(), esiStreamRead(), esiStreamStatus(), external_acl_cache_delete(), external_acl_cache_touch(), ESIVarState::extractChar(), CommonPool::Factory(), esiChoose::fail(), htcpSpecifier::fillChecklist(), UrnState::fillChecklist(), findPreviouslyCachedEntry(), ESIAssign::finish(), esiTry::finish(), esiChoose::finish(), FinishAnElement(), ESIContext::finishChildren(), ESIContext::fixupOutboundTail(), HttpStateData::forwardUpgrade(), ftpSendReply(), Ipc::Mem::Pointer< Ipc::OneToOneUniQueues >::getRaw(), Client::handleAdaptationBlocked(), Client::handledEarlyAdaptationAbort(), Ftp::Server::handleFeatReply(), Http::Tunneler::handleResponse(), ESIContext::hasCachedAST(), HttpStateData::haveParsedReplyHeaders(), httpHdrAdd(), httpHdrMangle(), httpMaybeRemovePublic(), ConnStateData::httpsPeeked(), icapLogLog(), ESIContext::kick(), ESISegment::listAppend(), Ftp::Server::listenForDataConnection(), ESISegment::listLength(), ESISegment::listToChar(), ESISegment::ListTransfer(), MimeIcon::load(), ClientHttpRequest::logRequest(), esiChoose::makeCachableElements(), esiSequence::makeCachableElements(), esiTry::makeCacheable(), esiChoose::makeCacheable(), esiSequence::makeCacheable(), HappyConnOpener::makeError(), esiTry::makeUsable(), esiChoose::makeUsable(), esiChoose::makeUsableElements(), esiSequence::makeUsableElements(), ACLNoteStrategy::match(), Client::maybePurgeOthers(), netdbExchangeStart(), ErrorState::NewForwarding(), ClientHttpRequest::noteAdaptationAnswer(), Client::noteAdaptationAnswer(), Adaptation::Icap::ServiceRep::noteAdaptationAnswer(), Adaptation::Iterator::noteAdaptationAnswer(), TunnelStateData::noteConnection(), TunnelStateData::noteDestinationsEnd(), TunnelStateData::noteSecurityPeerConnectorAnswer(), Mgr::Inquirer::noteWroteHeader(), esiTry::notifyParent(), esiChoose::NULLUnChosen(), MemObject::objectBytesOnDisk(), DiskdFile::open(), Fs::Ufs::UFSStrategy::open(), HappyConnOpener::openFreshConnection(), PeerPoolMgr::openNewConnection(), DelayId::operator bool(), DelayTaggedUpdateVisitor::operator()(), DelayUserUpdateVisitor::operator()(), PeerConnectionPointer::operator->(), operator<<(), operator==(), ESIContext::parse(), ESIContext::parseOneBuffer(), Adaptation::Icap::OptXact::parseResponse(), ConnStateData::parseTlsHandshake(), peerAllowedToUse(), Adaptation::Icap::ModXact::prepEchoing(), Http::One::Server::proceedAfterBodyContinuation(), ESIContext::process(), esiTry::process(), esiChoose::process(), esiLiteral::process(), esiSequence::process(), Http::One::Server::processParsedRequest(), esiSequence::provideData(), ESIContext::provideData(), BlockingFile::read(), DiskdFile::read(), DiskThreadsDiskFile::read(), Rock::SwapDir::readCompleted(), Fs::Ufs::UFSStoreState::readCompleted(), refreshCheckDigest(), esiComment::render(), esiTry::render(), esiChoose::render(), ESIInclude::render(), esiLiteral::render(), Fs::Ufs::UFSSwapDir::replacementRemove(), TunnelStateData::retryOrBail(), BandwidthBucket::SelectBucket(), ESIContext::send(), DiskdIOStrategy::send(), Client::sendBodyIsTooLargeError(), ConnStateData::sendControlMsg(), ESIInclude::start(), ESIContext::start(), ESIInclude::Start(), UrnState::start(), ConnStateData::startPeekAndSplice(), MemObject::stat(), Ftp::Server::stopWaitingForOrigin(), ESIInclude::subRequestDone(), StoreEntry::swapOutFileClose(), ESISegment::tail(), testRefCount::testDoubleInheritToSingleInherit(), testRefCount::testPointerConst(), testRefCount::testPointerFromRefCounter(), testRefCount::testRefCountFromConst(), testStoreController::testSearch(), testStoreHashIndex::testSearch(), ESIContext::trimBlanks(), TunnelStateData::tunnelEstablishmentDone(), ESIContext::updateCachedAST(), urnHandleReply(), TunnelStateData::usePinned(), and Rock::SwapDir::writeCompleted().

◆ operator bool()

template<class C >
RefCount< C >::operator bool ( ) const
inlineexplicit

Definition at line 69 of file RefCount.h.

◆ operator!()

template<class C >
bool RefCount< C >::operator! ( ) const
inline

Definition at line 71 of file RefCount.h.

◆ operator!=()

template<class C >
bool RefCount< C >::operator!= ( const RefCount< C > &  p) const
inline

Definition at line 86 of file RefCount.h.

◆ operator*()

template<class C >
C& RefCount< C >::operator* ( ) const
inline

Definition at line 75 of file RefCount.h.

Referenced by Ipc::Mem::Pointer< Ipc::OneToOneUniQueues >::operator*().

◆ operator->()

template<class C >
C* RefCount< C >::operator-> ( ) const
inline

Definition at line 73 of file RefCount.h.

Referenced by Ipc::Mem::Pointer< Ipc::OneToOneUniQueues >::operator->().

◆ operator=() [1/2]

template<class C >
RefCount& RefCount< C >::operator= ( const RefCount< C > &  p)
inline

Definition at line 52 of file RefCount.h.

◆ operator=() [2/2]

template<class C >
RefCount& RefCount< C >::operator= ( RefCount< C > &&  p)
inline

Definition at line 61 of file RefCount.h.

◆ operator==()

template<class C >
bool RefCount< C >::operator== ( const RefCount< C > &  p) const
inline

Definition at line 82 of file RefCount.h.

◆ reference()

template<class C >
void RefCount< C >::reference ( const RefCount< C > &  p)
inlineprivate

Member Data Documentation

◆ p_


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors