Go to the documentation of this file.
9 #ifndef SQUID_CBC_POINTER_H
10 #define SQUID_CBC_POINTER_H
49 template <
typename Other>
56 template <
typename Other>
69 std::ostream &
print(std::ostream &os)
const;
147 debugs(45, 3,
"cbc=" << (
void*)cbc <<
", lock=" << (
void*)lock);
188 return os << cbc <<
'/' << lock;
bool operator==(const CbcPointer< Cbc > &o) const
Cbc * get() const
a temporary valid raw Cbc pointer or NULL
Cbc * valid() const
was set and is valid
CbcPointer(const CbcPointer &p)
bool set() const
was set but may be invalid
int cbdataReferenceValid(const void *p)
#define cbdataReference(var)
CbcPointer(CbcPointer &&)
Cbc & operator*() const
a valid Cbc reference or exception
CbcPointer & operator=(const CbcPointer &p)
Cbc * raw() const
a temporary raw Cbc pointer; may be invalid
void clear()
make pointer not set; does not invalidate cbdata
#define cbdataReferenceDone(var)
Cbc * operator->() const
a valid Cbc pointer or exception
std::ostream & operator<<(std::ostream &os, const CbcPointer< Cbc > &p)
bool operator!() const
invalid or was not set
std::ostream & print(std::ostream &os) const
CbcPointer(const CbcPointer< Other > &o)
support converting a child cbc pointer into a parent cbc pointer
#define debugs(SECTION, LEVEL, CONTENT)