libzypp 17.32.5
|
RW_pointer supporting 'copy on write' functionality. More...
#include <zypp-core/base/PtrTypes.h>
Public Types | |
using | PtrType = typename DTraits::PtrType |
using | constPtrType = typename DTraits::constPtrType |
Public Member Functions | |
RWCOW_pointer () | |
RWCOW_pointer (std::nullptr_t) | |
RWCOW_pointer (const RWCOW_pointer &)=default | |
RWCOW_pointer (RWCOW_pointer &&)=default | |
RWCOW_pointer (typename PtrType::element_type *dptr) | |
RWCOW_pointer (PtrType dptr) | |
RWCOW_pointer & | operator= (std::nullptr_t) |
RWCOW_pointer & | operator= (const RWCOW_pointer &)=default |
RWCOW_pointer & | operator= (RWCOW_pointer &&)=default |
void | reset () |
void | reset (typename PtrType::element_type *dptr) |
void | swap (RWCOW_pointer &rhs) noexcept |
void | swap (PtrType &rhs) noexcept |
operator bool () const | |
const D & | operator* () const |
const D * | operator-> () const |
const D * | get () const |
D & | operator* () |
D * | operator-> () |
D * | get () |
bool | unique () const |
long | use_count () const |
constPtrType | getPtr () const |
PtrType | getPtr () |
constPtrType | cgetPtr () |
Private Member Functions | |
void | assertUnshared () |
Private Attributes | |
PtrType | _dptr |
Related Symbols | |
(Note that these are not member symbols.) | |
template<class D > | |
D * | rwcowClone (const D *rhs) |
Clone the underlying object. | |
template<class D , class DPtr > | |
std::ostream & | operator<< (std::ostream &str, const RWCOW_pointer< D, DPtr > &obj) |
Stream output. | |
template<class D , class DPtr > | |
bool | operator== (const RWCOW_pointer< D, DPtr > &lhs, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator== (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs) |
template<class D , class DPtr > | |
bool | operator== (const typename DPtr::PtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator== (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs) |
template<class D , class DPtr > | |
bool | operator== (const typename DPtr::constPtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator== (const RWCOW_pointer< D, DPtr > &lhs, std::nullptr_t) |
template<class D , class DPtr > | |
bool | operator== (std::nullptr_t, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator!= (const RWCOW_pointer< D, DPtr > &lhs, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator!= (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs) |
template<class D , class DPtr > | |
bool | operator!= (const typename DPtr::PtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator!= (const RWCOW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs) |
template<class D , class DPtr > | |
bool | operator!= (const typename DPtr::constPtrType &lhs, const RWCOW_pointer< D, DPtr > &rhs) |
template<class D , class DPtr > | |
bool | operator!= (const RWCOW_pointer< D, DPtr > &lhs, std::nullptr_t) |
template<class D , class DPtr > | |
bool | operator!= (std::nullptr_t, const RWCOW_pointer< D, DPtr > &rhs) |
RW_pointer supporting 'copy on write' functionality.
Write access to the underlying object creates a copy, iff the object is shared.
See RW_pointer.
Definition at line 467 of file PtrTypes.h.
using zypp::RWCOW_pointer< D, DTraits >::PtrType = typename DTraits::PtrType |
Definition at line 469 of file PtrTypes.h.
using zypp::RWCOW_pointer< D, DTraits >::constPtrType = typename DTraits::constPtrType |
Definition at line 470 of file PtrTypes.h.
|
inline |
Definition at line 472 of file PtrTypes.h.
|
inline |
Definition at line 474 of file PtrTypes.h.
|
default |
|
default |
|
inlineexplicit |
Definition at line 481 of file PtrTypes.h.
|
inlineexplicit |
Definition at line 486 of file PtrTypes.h.
|
inline |
Definition at line 490 of file PtrTypes.h.
|
default |
|
default |
|
inline |
Definition at line 497 of file PtrTypes.h.
|
inline |
Definition at line 500 of file PtrTypes.h.
|
inlinenoexcept |
Definition at line 503 of file PtrTypes.h.
|
inlinenoexcept |
Definition at line 506 of file PtrTypes.h.
|
inlineexplicit |
Definition at line 509 of file PtrTypes.h.
|
inline |
Definition at line 512 of file PtrTypes.h.
|
inline |
Definition at line 515 of file PtrTypes.h.
|
inline |
Definition at line 518 of file PtrTypes.h.
|
inline |
Definition at line 521 of file PtrTypes.h.
|
inline |
Definition at line 524 of file PtrTypes.h.
|
inline |
Definition at line 527 of file PtrTypes.h.
|
inline |
Definition at line 531 of file PtrTypes.h.
|
inline |
Definition at line 534 of file PtrTypes.h.
|
inline |
Definition at line 537 of file PtrTypes.h.
|
inline |
Definition at line 540 of file PtrTypes.h.
|
inline |
Definition at line 543 of file PtrTypes.h.
|
inlineprivate |
Definition at line 548 of file PtrTypes.h.
|
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 452 of file PtrTypes.h.
|
related |
Stream output.
Print the D
object the RWCOW_pointer refers, or "NULL"
if the pointer is NULL
.
Definition at line 565 of file PtrTypes.h.
|
related |
Definition at line 574 of file PtrTypes.h.
|
related |
Definition at line 578 of file PtrTypes.h.
|
related |
Definition at line 582 of file PtrTypes.h.
|
related |
Definition at line 586 of file PtrTypes.h.
|
related |
Definition at line 590 of file PtrTypes.h.
|
related |
Definition at line 594 of file PtrTypes.h.
|
related |
Definition at line 598 of file PtrTypes.h.
|
related |
Definition at line 603 of file PtrTypes.h.
|
related |
Definition at line 607 of file PtrTypes.h.
|
related |
Definition at line 611 of file PtrTypes.h.
|
related |
Definition at line 615 of file PtrTypes.h.
|
related |
Definition at line 619 of file PtrTypes.h.
|
related |
Definition at line 623 of file PtrTypes.h.
|
related |
Definition at line 627 of file PtrTypes.h.
|
private |
Definition at line 555 of file PtrTypes.h.