vsg: vsg::ref_ptr< T > Class Template Reference

vsg 1.1.8 VulkanSceneGraph library

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
vsg::ref_ptr< T > Class Template Reference

`#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
| ref_ptr (decltype(nullptr)) 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

## Detailed Description

template<class T>
class vsg::ref_ptr< T >

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

The documentation for this class was generated from the following file:

- include/vsg/core/ref_ptr.h