1 #ifndef SURFACE_REFERENCECOUNTED_H
2 #define SURFACE_REFERENCECOUNTED_H
23 #include "boost/intrusive_ptr.hpp"
62 public boost::intrusive_ptr<T>
70 public boost::intrusive_ptr<const T>
76 boost::intrusive_ptr<
const T>(&(*other)) {}
110 p = rh.
p? rh.
p->clone():
nullptr;
116 T const *
get()
const {
return p;}
121 if (
p &&
p->references()==0) {
delete const_cast<T*
>(
p); }
127 #define CMSSW_POOLALLOCATOR
129 #ifdef CMSSW_POOLALLOCATOR
134 std::auto_ptr<T>
ptr;
MixedReference(MixedReference const &rh)
ReferenceCountedPoolAllocated ReferenceCountedInEvent
void intrusive_ptr_add_ref(const BasicReferenceCounted *iRef)
#define CMSSW_POOLALLOCATOR
BasicReferenceCounted(const BasicReferenceCounted &iRHS)
ConstReferenceCountingPointer()
T const & operator*() const
const BasicReferenceCounted & operator=(const BasicReferenceCounted &)
ReferenceCountedPoolAllocated()
BasicReferenceCounted ReferenceCounted
MixedReference(T const *ip=nullptr) noexcept
void removeReference() const
BasicReferenceCounted ReferenceCountedInConditions
unsigned int references() const
ReferenceCountedPoolAllocated(const ReferenceCountedPoolAllocated &iRHS)
const ReferenceCountedPoolAllocated & operator=(const ReferenceCountedPoolAllocated &)
ReferenceCountingPointer()
void removeReference() const
ReferenceCountingPointer(T *iT)
unsigned int referenceCount_
ConstReferenceCountingPointer(const ReferenceCountingPointer< T > &other)
~MixedReference() noexcept
virtual ~ReferenceCountedPoolAllocated()
unsigned int references() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
void intrusive_ptr_release(const BasicReferenceCounted *iRef)
void addReference() const
unsigned int referenceCount_
virtual ~BasicReferenceCounted()
MixedReference(MixedReference &&rh) noexcept
ConstReferenceCountingPointer(const T *iT)
MixedReference & operator=(MixedReference const &rh)
void addReference() const
MixedReference & operator=(MixedReference &&rh) noexcept