#include <forward.h>

Collaboration diagram for RefCount< C >:

Public Member Functions

 RefCount ()
 
 RefCount (C const *p)
 
 ~RefCount ()
 
 RefCount (const RefCount &p)
 
 RefCount (RefCount &&p)
 
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 15 of file forward.h.

Constructor & Destructor Documentation

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

Definition at line 30 of file RefCount.h.

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

Definition at line 32 of file RefCount.h.

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

Definition at line 34 of file RefCount.h.

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

Definition at line 38 of file RefCount.h.

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

Definition at line 42 of file RefCount.h.

Member Function Documentation

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

Definition at line 74 of file RefCount.h.

Referenced by ConnStateData::abortChunkedRequestBody(), external_acl::add(), esiSequence::addElement(), esiRemove::addElement(), esiTry::addElement(), esiChoose::addElement(), ESIContext::addStackElement(), addSwapDir(), StoreEntry::adjustVary(), ESISegment::adsorbList(), ESIContext::appendOutboundData(), Mgr::Inquirer::applyQueryParams(), asnCacheStart(), authenticateAuthenticateUser(), ErrorState::BuildContent(), ConnStateData::buildFakeRequest(), ErrorState::BuildHttpReply(), Http::One::Server::buildHttpRequest(), Downloader::buildRequest(), HttpStateData::buildRequestPrefix(), ConnStateData::buildSslCertGenerationParams(), StoreEntry::calcPublicKey(), DiskdFile::canNotifyClient(), htcpSpecifier::checkHit(), esiChoose::checkValidSource(), clientGetMoreData(), clientProcessRequest(), clientReplyStatus(), clientSocketDetach(), clientSocketRecipient(), clientStreamCallback(), clientStreamDetach(), clientStreamInsertHead(), clientTunnelOnError(), ESISegment::cloneList(), BlockingFile::close(), DiskThreadsDiskFile::close(), DiskdFile::close(), comm_read_cancel(), constructHelperQuery(), ErrorState::Convert(), DiskdFile::create(), Fs::Ufs::UFSStrategy::create(), UrnState::created(), MimeIcon::created(), htcpSpecifier::created(), DelayTaggedUpdateWalkee(), DelayUserUpdateWalkee(), ClientHttpRequest::doCallouts(), Ftp::Server::doProcessRequest(), downloaderRecipient(), ErrorState::Dump(), ESISegment::dumpToLog(), Ftp::Server::earlyError(), Adaptation::Icap::ModXact::encapsulateHead(), esiBufferRecipient(), esiChoose::esiChoose(), ESIInclude::ESIInclude(), esiProcessStream(), ESISegmentFreeList(), esiStreamDetach(), esiStreamRead(), esiStreamStatus(), external_acl_cache_delete(), external_acl_cache_touch(), ESIVarState::extractChar(), CommonPool::Factory(), esiChoose::fail(), findPreviouslyCachedEntry(), ESIAssign::finish(), esiTry::finish(), esiChoose::finish(), ESIContext::finishChildren(), ESIContext::fixupOutboundTail(), ftpSendReply(), Ssl::ErrorDetailsManager::getErrorDetail(), StoreEntry::getReply(), Client::handleAdaptationBlocked(), ClientHttpRequest::handleAdaptationFailure(), ClientHttpRequest::handleAdaptedHeader(), Client::handledEarlyAdaptationAbort(), Ftp::Server::handleFeatReply(), Downloader::handleReply(), ESIContext::hasCachedAST(), HttpStateData::haveParsedReplyHeaders(), htcpClrStore(), httpMaybeRemovePublic(), ConnStateData::httpsPeeked(), ignoreMulticastReply(), TunnelStateData::informUserOfPeerError(), Snmp::Inquirer::Inquirer(), ESIContext::kick(), ESISegment::ListAppend(), ESISegment::listAppend(), Ftp::Server::listenForDataConnection(), ESISegment::listLength(), ESISegment::listToChar(), ESISegment::ListTransfer(), SBuf::Locker::Locker(), main(), esiSequence::makeCachableElements(), esiChoose::makeCachableElements(), esiSequence::makeCacheable(), esiTry::makeCacheable(), esiChoose::makeCacheable(), esiTry::makeUsable(), esiChoose::makeUsable(), esiSequence::makeUsableElements(), esiChoose::makeUsableElements(), ACLNoteStrategy::match(), Client::maybePurgeOthers(), netdbExchangeStart(), ErrorState::NewForwarding(), Adaptation::Iterator::noteAdaptationAnswer(), Client::noteAdaptationAnswer(), Adaptation::Icap::ServiceRep::noteAdaptationAnswer(), ClientHttpRequest::noteAdaptationAnswer(), Mgr::Inquirer::noteCommClosed(), TunnelStateData::noteDestinationsEnd(), Mgr::Inquirer::noteWroteHeader(), esiTry::notifyParent(), esiChoose::NULLUnChosen(), MemObject::objectBytesOnDisk(), DiskdFile::open(), Fs::Ufs::UFSStrategy::open(), PeerPoolMgr::openNewConnection(), DelayId::operator bool(), DelayTaggedUpdateVisitor::operator()(), DelayUserUpdateVisitor::operator()(), operator==(), ESIContext::parse(), ESIContext::parseOneBuffer(), Adaptation::Icap::OptXact::parseResponse(), ConnStateData::parseTlsHandshake(), Adaptation::Icap::ModXact::prepEchoing(), Http::One::Server::proceedAfterBodyContinuation(), esiLiteral::process(), esiSequence::process(), esiTry::process(), ESIContext::process(), esiChoose::process(), Http::One::Server::processParsedRequest(), esiSequence::provideData(), ESIContext::provideData(), DiskThreadsDiskFile::read(), BlockingFile::read(), DiskdFile::read(), Fs::Ufs::UFSStoreState::readCompleted(), Rock::SwapDir::readCompleted(), refreshCheckDigest(), esiLiteral::render(), ESIInclude::render(), esiComment::render(), esiTry::render(), esiChoose::render(), Fs::Ufs::UFSSwapDir::replacementRemove(), BandwidthBucket::SelectBucket(), DiskdIOStrategy::send(), ESIContext::send(), Client::sendBodyIsTooLargeError(), ConnStateData::sendControlMsg(), ConnStateData::serveDelayedError(), Ftp::Server::setReply(), Http::One::Server::setReplyError(), ESIInclude::Start(), ESIInclude::start(), ESIContext::start(), TunnelStateData::startConnecting(), ConnStateData::startPeekAndSplice(), MemObject::stat(), Ftp::Server::stopWaitingForOrigin(), storeSwapInFileClosed(), ESIInclude::subRequestDone(), StoreEntry::swapOutFileClose(), ESISegment::tail(), testStoreController::testSearch(), testStoreHashIndex::testSearch(), ESIContext::trimBlanks(), tunnelConnectDone(), tunnelRelayConnectRequest(), ESIContext::updateCachedAST(), urnHandleReply(), and Rock::SwapDir::writeCompleted().

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

Definition at line 63 of file RefCount.h.

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

Definition at line 65 of file RefCount.h.

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

Definition at line 80 of file RefCount.h.

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

Definition at line 69 of file RefCount.h.

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

Definition at line 67 of file RefCount.h.

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

Definition at line 46 of file RefCount.h.

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

Definition at line 55 of file RefCount.h.

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

Definition at line 76 of file RefCount.h.

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

Member Data Documentation


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors