API Documentation
Loading...
Searching...
No Matches
ConstPointer< t_type > Class Template Reference

Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object. More...

#include <Pointer.hpp>

Inheritance diagram for ConstPointer< t_type >:
[legend]
Collaboration diagram for ConstPointer< t_type >:
[legend]

Public Member Functions

template<class t_other_type >
ConstPointer< t_other_type > as () const
 
 ConstPointer ()
 
 ConstPointer (const Pointer< t_type > &value) noexcept
 
 ConstPointer (const t_type *value) noexcept
 
 ConstPointer (t_type &&value) noexcept
 
const t_type & get () const
 
const t_type * operator-> () const
 
ConstPointer< t_type > & operator= (const Pointer< t_type > &pointer) noexcept
 
ConstPointer< t_type > & operator= (t_type *pointer)
 
constexpr const t_type * rawptr () const
 
void set (t_type &&value) noexcept
 
- Public Member Functions inherited from Pointer< t_type >
bool isNull () const
 
bool operator!= (const Pointer< t_type > &pointer) const
 
bool operator== (const Pointer< t_type > &pointer) const
 
uint04 referenceCount () const
 
void setToNull ()
 
void swap (Pointer< t_type > &pointer)
 

Additional Inherited Members

- Protected Member Functions inherited from Pointer< t_type >
t_type & get () const
 
Pointeroperator= (const Pointer &pointer)
 
Pointeroperator= (t_type *pointer)
 
 Pointer () noexcept
 
 Pointer (const Pointer< t_type > &value) noexcept
 
 Pointer (t_type &&value) noexcept
 
 Pointer (t_type *value) noexcept
 
constexpr t_type * rawptr () const
 
void set (t_type &&value)
 
 ~Pointer ()
 
- Protected Attributes inherited from Pointer< t_type >
PointerCorem_core = nullptr
 
t_type * m_object = nullptr
 

Detailed Description

template<class t_type>
class NDEVR::ConstPointer< t_type >

Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object.


Weaker overall logic (Cannot detect circular references) but faster.

Constructor & Destructor Documentation

◆ ConstPointer() [1/4]

template<class t_type >
ConstPointer ( )
inline

◆ ConstPointer() [2/4]

template<class t_type >
ConstPointer ( t_type && value)
inlinenoexcept

◆ ConstPointer() [3/4]

template<class t_type >
ConstPointer ( const t_type * value)
inlinenoexcept

◆ ConstPointer() [4/4]

template<class t_type >
ConstPointer ( const Pointer< t_type > & value)
inlinenoexcept

Member Function Documentation

◆ as()

template<class t_type >
template<class t_other_type >
ConstPointer< t_other_type > as ( ) const
inline

◆ get()

template<class t_type >
const t_type & get ( ) const
inline

◆ operator->()

template<class t_type >
const t_type * operator-> ( ) const
inline

◆ operator=() [1/2]

template<class t_type >
ConstPointer< t_type > & operator= ( const Pointer< t_type > & pointer)
inlinenoexcept

◆ operator=() [2/2]

template<class t_type >
ConstPointer< t_type > & operator= ( t_type * pointer)
inline

◆ rawptr()

template<class t_type >
const t_type * rawptr ( ) const
inlineconstexpr

◆ set()

template<class t_type >
void set ( t_type && value)
inlinenoexcept

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