CBMC
|
#include <iosfwd>
#include <utility>
Go to the source code of this file.
Classes | |
class | small_shared_ptrt< T > |
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... | |
class | small_shared_pointeet< Num > |
A helper class to store use-counts of objects held by small shared pointers. More... | |
Functions | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const small_shared_ptrt< T > &ptr) |
template<typename T , typename... Ts> | |
small_shared_ptrt< T > | make_small_shared_ptr (Ts &&... ts) |
This function is similar to std::make_unique and std::make_shared, and should be the preferred way of creating small_shared_ptrs. More... | |
template<typename T , typename U > | |
bool | operator== (const small_shared_ptrt< T > &lhs, const small_shared_ptrt< U > &rhs) |
template<typename T , typename U > | |
bool | operator!= (const small_shared_ptrt< T > &lhs, const small_shared_ptrt< U > &rhs) |
template<typename T , typename U > | |
bool | operator< (const small_shared_ptrt< T > &lhs, const small_shared_ptrt< U > &rhs) |
template<typename T , typename U > | |
bool | operator> (const small_shared_ptrt< T > &lhs, const small_shared_ptrt< U > &rhs) |
template<typename T , typename U > | |
bool | operator<= (const small_shared_ptrt< T > &lhs, const small_shared_ptrt< U > &rhs) |
template<typename T , typename U > | |
bool | operator>= (const small_shared_ptrt< T > &lhs, const small_shared_ptrt< U > &rhs) |
template<typename Num > | |
void | pointee_increment_use_count (small_shared_pointeet< Num > &p) |
The following functions are required by small_shared_ptrt, and by default pass through to the member functions of small_shared_pointeet by the same name. More... | |
template<typename Num > | |
void | pointee_decrement_use_count (small_shared_pointeet< Num > &p) |
template<typename Num > | |
Num | pointee_use_count (const small_shared_pointeet< Num > &p) |
small_shared_ptrt<T> make_small_shared_ptr | ( | Ts &&... | ts | ) |
This function is similar to std::make_unique and std::make_shared, and should be the preferred way of creating small_shared_ptrs.
The public constructors of small_shared_ptr are just provided to keep the class design similar to that of unique_ptr and shared_ptr, but in practice they should not be used directly.
Definition at line 123 of file small_shared_ptr.h.
bool operator!= | ( | const small_shared_ptrt< T > & | lhs, |
const small_shared_ptrt< U > & | rhs | ||
) |
Definition at line 137 of file small_shared_ptr.h.
bool operator< | ( | const small_shared_ptrt< T > & | lhs, |
const small_shared_ptrt< U > & | rhs | ||
) |
Definition at line 145 of file small_shared_ptr.h.
std::ostream& operator<< | ( | std::ostream & | os, |
const small_shared_ptrt< T > & | ptr | ||
) |
Definition at line 112 of file small_shared_ptr.h.
bool operator<= | ( | const small_shared_ptrt< T > & | lhs, |
const small_shared_ptrt< U > & | rhs | ||
) |
Definition at line 157 of file small_shared_ptr.h.
bool operator== | ( | const small_shared_ptrt< T > & | lhs, |
const small_shared_ptrt< U > & | rhs | ||
) |
Definition at line 129 of file small_shared_ptr.h.
bool operator> | ( | const small_shared_ptrt< T > & | lhs, |
const small_shared_ptrt< U > & | rhs | ||
) |
Definition at line 151 of file small_shared_ptr.h.
bool operator>= | ( | const small_shared_ptrt< T > & | lhs, |
const small_shared_ptrt< U > & | rhs | ||
) |
Definition at line 165 of file small_shared_ptr.h.
|
inline |
Definition at line 239 of file small_shared_ptr.h.
|
inline |
The following functions are required by small_shared_ptrt, and by default pass through to the member functions of small_shared_pointeet by the same name.
We provide these as non-members just in case a future client wants to implement a shared object, which is unable to inherit from small_shared_pointeet for some reason. In this case, new overloads for the functions below can be provided, with appropriate behavior for the new type.
Definition at line 233 of file small_shared_ptr.h.
|
inline |
Definition at line 245 of file small_shared_ptr.h.