Smart pointer types

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

Files

file  PtrTypes.h

Functions

template<class _D , class _Ptr >
std::ostream & zypp::RW_pointer::operator<< (std::ostream &str, const RW_pointer< _D, _Ptr > &obj)
template<class _D , class _Ptr >
bool zypp::RW_pointer::operator== (const RW_pointer< _D, _Ptr > &lhs, const RW_pointer< _D, _Ptr > &rhs)
template<class _D , class _Ptr >
bool zypp::RW_pointer::operator!= (const RW_pointer< _D, _Ptr > &lhs, const RW_pointer< _D, _Ptr > &rhs)
template<class _D >
_D * zypp::RWCOW_pointer::rwcowClone (const _D *rhs)
template<class _D , class _Ptr >
std::ostream & zypp::RWCOW_pointer::operator<< (std::ostream &str, const RWCOW_pointer< _D, _Ptr > &obj)
template<class _D , class _Ptr >
bool zypp::RWCOW_pointer::operator== (const RWCOW_pointer< _D, _Ptr > &lhs, const RWCOW_pointer< _D, _Ptr > &rhs)
template<class _D , class _Ptr >
bool zypp::RWCOW_pointer::operator!= (const RWCOW_pointer< _D, _Ptr > &lhs, const RWCOW_pointer< _D, _Ptr > &rhs)


Detailed Description

Smart pointer types.

Namespace zypp provides 3 smart pointer types using the boost smart pointer library.

And zypp::RW_pointer, as wrapper around a smart pointer, poviding const correct read/write access to the object it refers.

Function Documentation

template<class _D , class _Ptr >
std::ostream & operator<< ( std::ostream &  str,
const RW_pointer< _D, _Ptr > &  obj 
) [related, inherited]

Stream output.

Print the _D object the RW_pointer refers, or "NULL" if the pointer is NULL.

Definition at line 339 of file PtrTypes.h.

template<class _D , class _Ptr >
bool operator== ( const RW_pointer< _D, _Ptr > &  lhs,
const RW_pointer< _D, _Ptr > &  rhs 
) [related, inherited]

Definition at line 349 of file PtrTypes.h.

References zypp::RW_pointer< _D, _Traits >::get().

template<class _D , class _Ptr >
bool operator!= ( const RW_pointer< _D, _Ptr > &  lhs,
const RW_pointer< _D, _Ptr > &  rhs 
) [related, inherited]

Definition at line 357 of file PtrTypes.h.

template<class _D >
_D * rwcowClone ( const _D *  rhs  )  [related, inherited]

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 457 of file PtrTypes.h.

Referenced by zypp::RWCOW_pointer< UrlBase >::assertUnshared().

template<class _D , class _Ptr >
std::ostream & operator<< ( std::ostream &  str,
const RWCOW_pointer< _D, _Ptr > &  obj 
) [related, inherited]

Stream output.

Print the _D object the RWCOW_pointer refers, or "NULL" if the pointer is NULL.

Definition at line 469 of file PtrTypes.h.

template<class _D , class _Ptr >
bool operator== ( const RWCOW_pointer< _D, _Ptr > &  lhs,
const RWCOW_pointer< _D, _Ptr > &  rhs 
) [related, inherited]

Definition at line 479 of file PtrTypes.h.

References zypp::RWCOW_pointer< _D, _Traits >::get().

template<class _D , class _Ptr >
bool operator!= ( const RWCOW_pointer< _D, _Ptr > &  lhs,
const RWCOW_pointer< _D, _Ptr > &  rhs 
) [related, inherited]

Definition at line 487 of file PtrTypes.h.


doxygen