|
Blender V5.0
|
#include <BLI_implicit_sharing_ptr.hh>
Public Types | |
| using | element_type = T |
Public Member Functions | |
| ImplicitSharingPtr ()=default | |
| ImplicitSharingPtr (const T *data) | |
| ImplicitSharingPtr (std::nullptr_t) | |
| ImplicitSharingPtr (const ImplicitSharingPtr &other) | |
| ImplicitSharingPtr (ImplicitSharingPtr &&other) | |
| ~ImplicitSharingPtr () | |
| ImplicitSharingPtr & | operator= (const ImplicitSharingPtr &other) |
| ImplicitSharingPtr & | operator= (ImplicitSharingPtr &&other) |
| const T * | operator-> () const |
| const T & | operator* () const |
| operator bool () const | |
| const T * | get () const |
| const T * | release () |
| void | reset () |
| bool | has_value () const |
| uint64_t | hash () const |
Static Public Member Functions | |
| static uint64_t | hash_as (const T *data) |
Friends | |
| bool | operator== (const T *a, const ImplicitSharingPtr &b) |
| bool | operator== (const ImplicitSharingPtr &a, const T *b) |
ImplicitSharingPtr is a smart pointer that manages implicit sharing. It's designed to work with types that derive from ImplicitSharingMixin. It is fairly similar to #std::shared_ptr but requires the reference count to be embedded in the data.
Definition at line 24 of file BLI_implicit_sharing_ptr.hh.
| using blender::ImplicitSharingPtr< T, IsStrong >::element_type = T |
Definition at line 29 of file BLI_implicit_sharing_ptr.hh.
|
default |
|
inlineexplicit |
Definition at line 33 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 36 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 38 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 43 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 48 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 94 of file BLI_implicit_sharing_ptr.hh.
Referenced by IMB_colormanagement_working_space_convert(), blender::nodes::geo_eval_log::GeoTreeLogger::log_value(), blender::nodes::node_geo_sort_elements_cc::node_geo_exec(), blender::tests::TEST(), blender::tests::TEST(), and blender::tests::TEST().
|
inline |
Definition at line 112 of file BLI_implicit_sharing_ptr.hh.
Referenced by blender::bke::GeometrySet::has(), and blender::ImplicitSharingPtrAndData::has_value().
|
inline |
Definition at line 117 of file BLI_implicit_sharing_ptr.hh.
|
inlinestatic |
Definition at line 122 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 89 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 83 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 77 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 53 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 65 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 99 of file BLI_implicit_sharing_ptr.hh.
|
inline |
Definition at line 106 of file BLI_implicit_sharing_ptr.hh.
Referenced by blender::bke::GeometrySet::remove().
|
friend |
Definition at line 134 of file BLI_implicit_sharing_ptr.hh.
|
friend |
Definition at line 129 of file BLI_implicit_sharing_ptr.hh.