#include <userver/utils/shared_readable_ptr.hpp>
std::shared_ptr<const T>
wrapper that makes sure that the pointer is stored before dereferencing. Protects from dangling references:
Definition at line 22 of file shared_readable_ptr.hpp.
Public Types | |
using | Base = std::shared_ptr<const T> |
using | MutableBase = std::shared_ptr<T> |
using | Weak = typename Base::weak_type |
using | Unique = std::unique_ptr<const T> |
using | element_type = T |
Public Member Functions | |
SharedReadablePtr (const SharedReadablePtr &ptr) noexcept=default | |
SharedReadablePtr (SharedReadablePtr &&ptr) noexcept=default | |
constexpr | SharedReadablePtr (std::nullptr_t) noexcept |
SharedReadablePtr & | operator= (const SharedReadablePtr &ptr) noexcept=default |
SharedReadablePtr & | operator= (SharedReadablePtr &&ptr) noexcept=default |
SharedReadablePtr (const Base &ptr) noexcept | |
SharedReadablePtr (Base &&ptr) noexcept | |
SharedReadablePtr (const MutableBase &ptr) noexcept | |
SharedReadablePtr (MutableBase &&ptr) noexcept | |
SharedReadablePtr (Unique &&ptr) noexcept | |
SharedReadablePtr & | operator= (const Base &ptr) noexcept |
SharedReadablePtr & | operator= (Base &&ptr) noexcept |
SharedReadablePtr & | operator= (const MutableBase &ptr) noexcept |
SharedReadablePtr & | operator= (MutableBase &&ptr) noexcept |
SharedReadablePtr & | operator= (std::nullptr_t) noexcept |
const T * | Get () const &noexcept |
const T & | operator* () const &noexcept |
const T & | operator* () && |
const T * | operator-> () const &noexcept |
const T * | operator-> () && |
operator const Base & () const &noexcept | |
operator const Base & () && | |
operator Weak () const &noexcept | |
operator Weak () && | |
operator bool () const noexcept | |
bool | operator== (const SharedReadablePtr< T > &other) const |
bool | operator!= (const SharedReadablePtr< T > &other) const |
void | Reset () noexcept |
using utils::SharedReadablePtr< T >::Base = std::shared_ptr<const T> |
Definition at line 27 of file shared_readable_ptr.hpp.
using utils::SharedReadablePtr< T >::element_type = T |
Definition at line 31 of file shared_readable_ptr.hpp.
using utils::SharedReadablePtr< T >::MutableBase = std::shared_ptr<T> |
Definition at line 28 of file shared_readable_ptr.hpp.
using utils::SharedReadablePtr< T >::Unique = std::unique_ptr<const T> |
Definition at line 30 of file shared_readable_ptr.hpp.
using utils::SharedReadablePtr< T >::Weak = typename Base::weak_type |
Definition at line 29 of file shared_readable_ptr.hpp.
|
inlineconstexprnoexcept |
Definition at line 36 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 41 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 43 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 45 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 47 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 49 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 76 of file shared_readable_ptr.hpp.
|
inlineexplicitnoexcept |
Definition at line 94 of file shared_readable_ptr.hpp.
|
inline |
Definition at line 88 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 86 of file shared_readable_ptr.hpp.
|
inline |
Definition at line 92 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 90 of file shared_readable_ptr.hpp.
|
inline |
Definition at line 98 of file shared_readable_ptr.hpp.
|
inline |
Definition at line 80 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 78 of file shared_readable_ptr.hpp.
|
inline |
Definition at line 84 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 82 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 56 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 51 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 61 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 66 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 71 of file shared_readable_ptr.hpp.
|
inline |
Definition at line 96 of file shared_readable_ptr.hpp.
|
inlinenoexcept |
Definition at line 100 of file shared_readable_ptr.hpp.