libzypp
10.5.0
|
Smart pointer types. More...
Classes | |
struct | zypp::NullDeleter |
shared_ptr custom deleter doing nothing. More... | |
struct | zypp::RW_pointer< _D, _Traits > |
Wrapper for const correct access via Smart pointer types. More... | |
struct | zypp::RWCOW_pointer< _D, _Traits > |
RW_pointer supporting 'copy on write' functionality. More... | |
class | scoped_ptr |
class | shared_ptr |
class | weak_ptr |
class | intrusive_ptr |
Namespaces | |
namespace | zypp::rw_pointer |
Don't forgett to provide versions for _Ptr and _constPtr, esp. | |
Files | |
file | PtrTypes.h |
Functions | |
void | zypp::NullDeleter::operator() (const void *const ) const |
template<class _D , class _Ptr > | |
std::ostream & | operator<< (std::ostream &str, const RW_pointer< _D, _Ptr > &obj) |
template<class _D , class _Ptr > | |
bool | operator== (const RW_pointer< _D, _Ptr > &lhs, const RW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const RW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_Ptr &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const typename _Ptr::_Ptr &lhs, const RW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const RW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_constPtr &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const typename _Ptr::_constPtr &lhs, const RW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RW_pointer< _D, _Ptr > &lhs, const RW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_Ptr &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const typename _Ptr::_Ptr &lhs, const RW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_constPtr &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const typename _Ptr::_constPtr &lhs, const RW_pointer< _D, _Ptr > &rhs) |
template<class _D > | |
_D * | rwcowClone (const _D *rhs) |
template<class _D , class _Ptr > | |
std::ostream & | operator<< (std::ostream &str, const RWCOW_pointer< _D, _Ptr > &obj) |
template<class _D , class _Ptr > | |
bool | operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_Ptr &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const typename _Ptr::_Ptr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_constPtr &rhs) |
template<class _D , class _Ptr > | |
bool | operator== (const typename _Ptr::_constPtr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_Ptr &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const typename _Ptr::_Ptr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const typename _Ptr::_constPtr &rhs) |
template<class _D , class _Ptr > | |
bool | operator!= (const typename _Ptr::_constPtr &lhs, const RWCOW_pointer< _D, _Ptr > &rhs) |
Smart pointer types.
Namespace zypp provides 3 smart pointer types using the boost smart pointer library.
scoped_ptr
Simple sole ownership of single objects. Noncopyable.shared_ptr
Object ownership shared among multiple pointersweak_ptr
Non-owning observers of an object owned by shared_ptr.And zypp::RW_pointer, as wrapper around a smart pointer, poviding const
correct read/write access to the object it refers.
void zypp::NullDeleter::operator() | ( | const void * | const | ) | const [inline] |
Definition at line 77 of file PtrTypes.h.
std::ostream & operator<< | ( | std::ostream & | str, |
const RW_pointer< _D, _Ptr > & | obj | ||
) | [related] |
Stream output.
Print the _D
object the RW_pointer refers, or "NULL"
if the pointer is NULL
.
Definition at line 341 of file PtrTypes.h.
bool operator== | ( | const RW_pointer< _D, _Ptr > & | lhs, |
const RW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 350 of file PtrTypes.h.
bool operator== | ( | const RW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_Ptr & | rhs | ||
) | [related] |
Definition at line 354 of file PtrTypes.h.
bool operator== | ( | const typename _Ptr::_Ptr & | lhs, |
const RW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 358 of file PtrTypes.h.
bool operator== | ( | const RW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_constPtr & | rhs | ||
) | [related] |
Definition at line 362 of file PtrTypes.h.
bool operator== | ( | const typename _Ptr::_constPtr & | lhs, |
const RW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 366 of file PtrTypes.h.
bool operator!= | ( | const RW_pointer< _D, _Ptr > & | lhs, |
const RW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 372 of file PtrTypes.h.
bool operator!= | ( | const RW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_Ptr & | rhs | ||
) | [related] |
Definition at line 376 of file PtrTypes.h.
bool operator!= | ( | const typename _Ptr::_Ptr & | lhs, |
const RW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 380 of file PtrTypes.h.
bool operator!= | ( | const RW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_constPtr & | rhs | ||
) | [related] |
Definition at line 384 of file PtrTypes.h.
bool operator!= | ( | const typename _Ptr::_constPtr & | lhs, |
const RW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 388 of file PtrTypes.h.
_D * rwcowClone | ( | const _D * | rhs | ) | [related] |
Clone the underlying object. Calls rhs ->clone()
. Being defined as a function outside RWCOW_pointer allows to overload it, in case a specific _D does not have clone()
.
Definition at line 489 of file PtrTypes.h.
std::ostream & operator<< | ( | std::ostream & | str, |
const RWCOW_pointer< _D, _Ptr > & | obj | ||
) | [related] |
Stream output.
Print the _D
object the RWCOW_pointer refers, or "NULL"
if the pointer is NULL
.
Definition at line 500 of file PtrTypes.h.
bool operator== | ( | const RWCOW_pointer< _D, _Ptr > & | lhs, |
const RWCOW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 509 of file PtrTypes.h.
bool operator== | ( | const RWCOW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_Ptr & | rhs | ||
) | [related] |
Definition at line 513 of file PtrTypes.h.
bool operator== | ( | const typename _Ptr::_Ptr & | lhs, |
const RWCOW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 517 of file PtrTypes.h.
bool operator== | ( | const RWCOW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_constPtr & | rhs | ||
) | [related] |
Definition at line 521 of file PtrTypes.h.
bool operator== | ( | const typename _Ptr::_constPtr & | lhs, |
const RWCOW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 525 of file PtrTypes.h.
bool operator!= | ( | const RWCOW_pointer< _D, _Ptr > & | lhs, |
const RWCOW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 530 of file PtrTypes.h.
bool operator!= | ( | const RWCOW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_Ptr & | rhs | ||
) | [related] |
Definition at line 534 of file PtrTypes.h.
bool operator!= | ( | const typename _Ptr::_Ptr & | lhs, |
const RWCOW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 538 of file PtrTypes.h.
bool operator!= | ( | const RWCOW_pointer< _D, _Ptr > & | lhs, |
const typename _Ptr::_constPtr & | rhs | ||
) | [related] |
Definition at line 542 of file PtrTypes.h.
bool operator!= | ( | const typename _Ptr::_constPtr & | lhs, |
const RWCOW_pointer< _D, _Ptr > & | rhs | ||
) | [related] |
Definition at line 546 of file PtrTypes.h.