CBMC
|
This class is really similar to boost's intrusive_pointer, but can be a bit simpler seeing as we're only using it one place. More...
#include <small_shared_ptr.h>
Public Member Functions | |
small_shared_ptrt ()=default | |
small_shared_ptrt (T *t) | |
small_shared_ptrt (const small_shared_ptrt &rhs) | |
small_shared_ptrt & | operator= (const small_shared_ptrt &rhs) |
small_shared_ptrt (small_shared_ptrt &&rhs) | |
small_shared_ptrt & | operator= (small_shared_ptrt &&rhs) |
~small_shared_ptrt () | |
void | swap (small_shared_ptrt &rhs) |
T * | get () const |
T & | operator* () const |
T * | operator-> () const |
auto | use_count () const -> decltype(pointee_use_count(std::declval< T >())) |
operator bool () const | |
Private Attributes | |
T * | t_ = nullptr |
This class is really similar to boost's intrusive_pointer, but can be a bit simpler seeing as we're only using it one place.
The idea is that the pointed-to object stores its reference-count internally, which is more space-efficient than storing it in a separate control block (which is what shared_ptr does).
Definition at line 24 of file small_shared_ptr.h.
|
default |
|
inlineexplicit |
Definition at line 29 of file small_shared_ptr.h.
|
inline |
Definition at line 37 of file small_shared_ptr.h.
|
inline |
Definition at line 52 of file small_shared_ptr.h.
|
inline |
Definition at line 63 of file small_shared_ptr.h.
|
inline |
Definition at line 82 of file small_shared_ptr.h.
|
inlineexplicit |
Definition at line 102 of file small_shared_ptr.h.
|
inline |
Definition at line 87 of file small_shared_ptr.h.
|
inline |
Definition at line 92 of file small_shared_ptr.h.
|
inline |
Definition at line 45 of file small_shared_ptr.h.
|
inline |
Definition at line 57 of file small_shared_ptr.h.
|
inline |
Definition at line 77 of file small_shared_ptr.h.
|
inline |
Definition at line 97 of file small_shared_ptr.h.
|
private |
Definition at line 108 of file small_shared_ptr.h.