| libzypp 17.37.14
    | 
Wrapper for const correct access via Smart pointer types.  
 More...
#include <zypp-core/base/PtrTypes.h>
| Public Types | |
| using | PtrType = typename DTraits::PtrType | 
| using | constPtrType = typename DTraits::constPtrType | 
| Public Member Functions | |
| RW_pointer () | |
| RW_pointer (const RW_pointer &)=default | |
| RW_pointer (RW_pointer &&)=default | |
| RW_pointer & | operator= (const RW_pointer &)=default | 
| RW_pointer & | operator= (RW_pointer &&)=default | 
| RW_pointer (std::nullptr_t) | |
| RW_pointer (typename PtrType::element_type *dptr) | |
| RW_pointer (PtrType dptr) | |
| RW_pointer & | operator= (std::nullptr_t) | 
| void | reset () | 
| void | reset (typename PtrType::element_type *dptr) | 
| void | swap (RW_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 Attributes | |
| PtrType | _dptr | 
| Related Symbols | |
| (Note that these are not member symbols.) | |
| template<class D, class DPtr> | |
| std::ostream & | operator<< (std::ostream &str, const RW_pointer< D, DPtr > &obj) | 
| Stream output. | |
| template<class D, class DPtr> | |
| bool | operator== (const RW_pointer< D, DPtr > &lhs, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator== (const RW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs) | 
| template<class D, class DPtr> | |
| bool | operator== (const typename DPtr::PtrType &lhs, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator== (const RW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs) | 
| template<class D, class DPtr> | |
| bool | operator== (const typename DPtr::constPtrType &lhs, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator== (const RW_pointer< D, DPtr > &lhs, std::nullptr_t) | 
| template<class D, class DPtr> | |
| bool | operator== (std::nullptr_t, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator!= (const RW_pointer< D, DPtr > &lhs, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator!= (const RW_pointer< D, DPtr > &lhs, const typename DPtr::PtrType &rhs) | 
| template<class D, class DPtr> | |
| bool | operator!= (const typename DPtr::PtrType &lhs, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator!= (const RW_pointer< D, DPtr > &lhs, const typename DPtr::constPtrType &rhs) | 
| template<class D, class DPtr> | |
| bool | operator!= (const typename DPtr::constPtrType &lhs, const RW_pointer< D, DPtr > &rhs) | 
| template<class D, class DPtr> | |
| bool | operator!= (const RW_pointer< D, DPtr > &lhs, std::nullptr_t) | 
| template<class D, class DPtr> | |
| bool | operator!= (std::nullptr_t, const RW_pointer< D, DPtr > &rhs) | 
Wrapper for const correct access via Smart pointer types. 
zypp::RW_pointer<D,DTraits> stores a Smart pointer types of type DTraits::PtrType, which must be convertible into a D *. Pointer style access (via -> and *) offers a const D * in const a context, otherwise a D *. Thus RW_ means read/write, as you get a different type, dependent on whether you're allowed to read or write.
Forwarding access from an interface to an implemantation class, an RW_pointer prevents const interface methods from accidentally calling nonconst implementation methods.
The second template argument defaults to DTraits = rw_pointer::Shared<D> thus wraping a shared_ptr<D>. To wrap an intrusive_ptr<D> use rw_pointer::Intrusive<D>.
Definition at line 292 of file PtrTypes.h.
| using zypp::RW_pointer< D, DTraits >::PtrType = typename DTraits::PtrType | 
Definition at line 294 of file PtrTypes.h.
| using zypp::RW_pointer< D, DTraits >::constPtrType = typename DTraits::constPtrType | 
Definition at line 295 of file PtrTypes.h.
| 
 | inline | 
Definition at line 297 of file PtrTypes.h.
| 
 | default | 
| 
 | default | 
| 
 | inline | 
Definition at line 304 of file PtrTypes.h.
| 
 | inlineexplicit | 
Definition at line 307 of file PtrTypes.h.
| 
 | inlineexplicit | 
Definition at line 312 of file PtrTypes.h.
| 
 | default | 
| 
 | default | 
| 
 | inline | 
Definition at line 316 of file PtrTypes.h.
| 
 | inline | 
Definition at line 319 of file PtrTypes.h.
| 
 | inline | 
Definition at line 322 of file PtrTypes.h.
| 
 | inlinenoexcept | 
Definition at line 325 of file PtrTypes.h.
| 
 | inlinenoexcept | 
Definition at line 328 of file PtrTypes.h.
| 
 | inlineexplicit | 
Definition at line 331 of file PtrTypes.h.
| 
 | inline | 
Definition at line 334 of file PtrTypes.h.
| 
 | inline | 
Definition at line 337 of file PtrTypes.h.
| 
 | inline | 
Definition at line 340 of file PtrTypes.h.
| 
 | inline | 
Definition at line 343 of file PtrTypes.h.
| 
 | inline | 
Definition at line 346 of file PtrTypes.h.
| 
 | inline | 
Definition at line 349 of file PtrTypes.h.
| 
 | inline | 
Definition at line 353 of file PtrTypes.h.
| 
 | inline | 
Definition at line 356 of file PtrTypes.h.
| 
 | inline | 
Definition at line 359 of file PtrTypes.h.
| 
 | inline | 
Definition at line 362 of file PtrTypes.h.
| 
 | inline | 
Definition at line 365 of file PtrTypes.h.
| 
 | 
Stream output.
Print the D object the RW_pointer refers, or "NULL" if the pointer is NULL. 
Definition at line 379 of file PtrTypes.h.
| 
 | 
Definition at line 388 of file PtrTypes.h.
| 
 | 
Definition at line 392 of file PtrTypes.h.
| 
 | 
Definition at line 396 of file PtrTypes.h.
| 
 | 
Definition at line 400 of file PtrTypes.h.
| 
 | 
Definition at line 404 of file PtrTypes.h.
| 
 | 
Definition at line 408 of file PtrTypes.h.
| 
 | 
Definition at line 412 of file PtrTypes.h.
| 
 | 
Definition at line 418 of file PtrTypes.h.
| 
 | 
Definition at line 422 of file PtrTypes.h.
| 
 | 
Definition at line 426 of file PtrTypes.h.
| 
 | 
Definition at line 430 of file PtrTypes.h.
| 
 | 
Definition at line 434 of file PtrTypes.h.
| 
 | 
Definition at line 438 of file PtrTypes.h.
| 
 | 
Definition at line 442 of file PtrTypes.h.
| 
 | private | 
Definition at line 369 of file PtrTypes.h.