libzypp  17.38.7
PtrTypes.h File Reference
#include <iosfwd>
#include <string>
#include <zypp-core/Globals.h>
#include <boost/scoped_ptr.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <boost/intrusive_ptr.hpp>
Include dependency graph for PtrTypes.h:

Go to the source code of this file.

Classes

struct  zypp::NullDeleter
 shared_ptr custom deleter doing nothing. More...
 
struct  zypp::rw_pointer::Shared< D >
 
struct  zypp::rw_pointer::Intrusive< D >
 
struct  zypp::rw_pointer::Scoped< D >
 
struct  zypp::RW_pointer< D, DTraits >
 Wrapper for const correct access via Smart pointer types. More...
 
struct  zypp::RWCOW_pointer< D, DTraits >
 RW_pointer supporting 'copy on write' functionality. More...
 

Namespaces

 zypp
 Easy-to use interface to the ZYPP dependency resolver.
 
 zypp::str
 Provide print[f] and sprint[f] functions based on JoinFormat.
 
 std
 
 zypp::rw_pointer
 Don't forgett to provide versions for PtrType and constPtrType, esp.
 

Macros

#define DEFINE_PTR_TYPE(NAME)
 Forward declaration of Ptr types. More...
 

Functions

std::string zypp::str::form (const char *format,...) __attribute__((format(printf
 Printf style construction of std::string. More...
 
template<typename T , typename... Args>
intrusive_ptr< T > zypp::make_intrusive (Args &&... __args)
 
template<class D >
std::ostream & std::operator<< (std::ostream &str, const zypp::shared_ptr< D > &obj)
 relates: zypp::shared_ptr Stream output. More...
 
template<>
std::ostream & std::operator<< (std::ostream &str, const zypp::shared_ptr< void > &obj)
 
template<class D >
std::ostream & std::dumpOn (std::ostream &str, const zypp::shared_ptr< D > &obj)
 relates: zypp::shared_ptr Stream output. More...
 
template<>
std::ostream & std::dumpOn (std::ostream &str, const zypp::shared_ptr< void > &obj)
 
template<class D >
std::ostream & std::operator<< (std::ostream &str, const zypp::intrusive_ptr< D > &obj)
 relates: zypp::intrusive_ptr Stream output. More...
 
template<class D >
std::ostream & std::dumpOn (std::ostream &str, const zypp::intrusive_ptr< D > &obj)
 relates: zypp::intrusive_ptr Stream output. More...
 
template<class D , class DPtr >
std::ostream & zypp::operator<< (std::ostream &str, const RW_pointer< D, DPtr > &obj)
 relates: RW_pointer Stream output. More...
 
template<class D , class DPtr >
bool zypp::operator== (const RW_pointer< D, DPtr > &lhs, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const RW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const typename DPtr::PtrType &lhs, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const RW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const typename DPtr::constPtrType &lhs, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const RW_pointer< D, DPtr > &lhs, std::nullptr_t)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (std::nullptr_t, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RW_pointer< D, DPtr > &lhs, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const typename DPtr::PtrType &lhs, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const typename DPtr::constPtrType &lhs, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RW_pointer< D, DPtr > &lhs, std::nullptr_t)
 relates: RW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (std::nullptr_t, const RW_pointer< D, DPtr > &rhs)
 relates: RW_pointer More...
 
template<class D >
D * zypp::rwcowClone (const D *rhs)
 relates: RWCOW_pointer Clone the underlying object. More...
 
template<class D , class DPtr >
std::ostream & zypp::operator<< (std::ostream &str, const RWCOW_pointer< D, DPtr > &obj)
 relates: RWCOW_pointer Stream output. More...
 
template<class D , class DPtr >
bool zypp::operator== (const RWCOW_pointer< D, DPtr > &lhs, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const typename DPtr::PtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const typename DPtr::constPtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (const RWCOW_pointer< D, DPtr > &lhs, std::nullptr_t)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator== (std::nullptr_t, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RWCOW_pointer< D, DPtr > &lhs, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const typename DPtr::PtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const typename DPtr::constPtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (const RWCOW_pointer< D, DPtr > &lhs, std::nullptr_t)
 relates: RWCOW_pointer More...
 
template<class D , class DPtr >
bool zypp::operator!= (std::nullptr_t, const RWCOW_pointer< D, DPtr > &rhs)
 relates: RWCOW_pointer More...
 

Macro Definition Documentation

◆ DEFINE_PTR_TYPE

#define DEFINE_PTR_TYPE (   NAME)
Value:
class NAME; \
extern void intrusive_ptr_add_ref( const NAME * ) ZYPP_API; \
extern void intrusive_ptr_release( const NAME * ) ZYPP_API; \
typedef zypp::intrusive_ptr<NAME> NAME##_Ptr; \
typedef zypp::intrusive_ptr<const NAME> NAME##_constPtr;
constexpr std::string_view NAME("name")
void intrusive_ptr_add_ref(const ReferenceCounted *ptr_r)
relates: ReferenceCounted intrusive_ptr hook to add_ref.
#define ZYPP_API
Definition: Globals.h:69
void intrusive_ptr_release(const ReferenceCounted *ptr_r)
relates: ReferenceCounted intrusive_ptr hook to release.

Forward declaration of Ptr types.

Definition at line 639 of file PtrTypes.h.