vsg
1.1.0
VulkanSceneGraph library
|
#include <ref_ptr.h>
Public Types | |
using | element_type = T |
Public Member Functions | |
ref_ptr (const ref_ptr &rhs) noexcept | |
template<class R > | |
ref_ptr (ref_ptr< R > &&rhs) noexcept | |
move constructor | |
template<class R > | |
ref_ptr (const ref_ptr< R > &ptr) noexcept | |
ref_ptr (T *ptr) noexcept | |
template<class R > | |
ref_ptr (R *ptr) noexcept | |
void | reset () |
ref_ptr & | operator= (T *ptr) |
ref_ptr & | operator= (const ref_ptr &rhs) |
template<class R > | |
ref_ptr & | operator= (const ref_ptr< R > &rhs) |
template<class R > | |
ref_ptr & | operator= (ref_ptr< R > &&rhs) |
move assignment | |
template<class R > | |
bool | operator< (const ref_ptr< R > &rhs) const |
template<class R > | |
bool | operator== (const ref_ptr< R > &rhs) const |
template<class R > | |
bool | operator!= (const ref_ptr< R > &rhs) const |
template<class R > | |
bool | operator< (const R *rhs) const |
template<class R > | |
bool | operator== (const R *rhs) const |
template<class R > | |
bool | operator!= (const R *rhs) const |
bool | valid () const noexcept |
operator bool () const noexcept | |
operator T* () const noexcept | |
void | operator[] (int) const =delete |
T & | operator* () const noexcept |
T * | operator-> () const noexcept |
T * | get () const noexcept |
T * | release_nodelete () noexcept |
void | swap (ref_ptr &rhs) noexcept |
template<class R > | |
ref_ptr< R > | cast () const |
Protected Attributes | |
T * | _ptr |
smart pointer that works with objects that have intrusive reference counting, such as all vsg::Object broadly similar in role to std::shared_ptr<> but half size and faster thanks to lower memory footprint and better cache coherency