Itoyori  v0.0.1
ityr::ori::global_ptr< T > Class Template Reference

#include <global_ptr.hpp>

Inheritance diagram for ityr::ori::global_ptr< T >:

Public Types

using element_type = T
 
using value_type = std::remove_cv_t< T >
 
using difference_type = std::ptrdiff_t
 
using pointer = T *
 
using reference = global_ref< T >
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

constexpr global_ptr () noexcept
 
constexpr global_ptr (T *ptr) noexcept
 
constexpr global_ptr (const this_t &) noexcept=default
 
constexpr this_toperator= (const this_t &) noexcept=default
 
constexpr global_ptr (std::nullptr_t) noexcept
 
constexpr this_toperator= (std::nullptr_t) noexcept
 
constexpr pointer raw_ptr () const noexcept
 
constexpr operator bool () const noexcept
 
constexpr bool operator! () const noexcept
 
constexpr reference operator* () const
 
constexpr reference operator[] (difference_type diff) const
 
constexpr this_toperator+= (difference_type diff) noexcept
 
constexpr this_toperator-= (difference_type diff) noexcept
 
constexpr this_toperator++ () noexcept
 
constexpr this_toperator-- () noexcept
 
constexpr this_t operator++ (int) noexcept
 
constexpr this_t operator-- (int) noexcept
 
constexpr this_t operator+ (difference_type diff) const noexcept
 
constexpr this_t operator- (difference_type diff) const noexcept
 
constexpr void swap (this_t &p) noexcept
 
constexpr operator global_ptr< const value_type > () const noexcept
 

Member Typedef Documentation

◆ difference_type

template<typename T >
using ityr::ori::global_ptr< T >::difference_type = std::ptrdiff_t

◆ element_type

template<typename T >
using ityr::ori::global_ptr< T >::element_type = T

◆ iterator_category

template<typename T >
using ityr::ori::global_ptr< T >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<typename T >
using ityr::ori::global_ptr< T >::pointer = T*

◆ reference

template<typename T >
using ityr::ori::global_ptr< T >::reference = global_ref<T>

◆ value_type

template<typename T >
using ityr::ori::global_ptr< T >::value_type = std::remove_cv_t<T>

Constructor & Destructor Documentation

◆ global_ptr() [1/4]

template<typename T >
constexpr ityr::ori::global_ptr< T >::global_ptr ( )
inlineconstexprnoexcept

◆ global_ptr() [2/4]

template<typename T >
constexpr ityr::ori::global_ptr< T >::global_ptr ( T *  ptr)
inlineexplicitconstexprnoexcept

◆ global_ptr() [3/4]

template<typename T >
constexpr ityr::ori::global_ptr< T >::global_ptr ( const this_t )
constexprdefaultnoexcept

◆ global_ptr() [4/4]

template<typename T >
constexpr ityr::ori::global_ptr< T >::global_ptr ( std::nullptr_t  )
inlineconstexprnoexcept

Member Function Documentation

◆ operator bool()

template<typename T >
constexpr ityr::ori::global_ptr< T >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator global_ptr< const value_type >()

template<typename T >
constexpr ityr::ori::global_ptr< T >::operator global_ptr< const value_type > ( ) const
inlineconstexprnoexcept

◆ operator!()

template<typename T >
constexpr bool ityr::ori::global_ptr< T >::operator! ( ) const
inlineconstexprnoexcept

◆ operator*()

template<typename T >
constexpr reference ityr::ori::global_ptr< T >::operator* ( ) const
inlineconstexpr

◆ operator+()

template<typename T >
constexpr this_t ityr::ori::global_ptr< T >::operator+ ( difference_type  diff) const
inlineconstexprnoexcept

◆ operator++() [1/2]

template<typename T >
constexpr this_t& ityr::ori::global_ptr< T >::operator++ ( )
inlineconstexprnoexcept

◆ operator++() [2/2]

template<typename T >
constexpr this_t ityr::ori::global_ptr< T >::operator++ ( int  )
inlineconstexprnoexcept

◆ operator+=()

template<typename T >
constexpr this_t& ityr::ori::global_ptr< T >::operator+= ( difference_type  diff)
inlineconstexprnoexcept

◆ operator-()

template<typename T >
constexpr this_t ityr::ori::global_ptr< T >::operator- ( difference_type  diff) const
inlineconstexprnoexcept

◆ operator--() [1/2]

template<typename T >
constexpr this_t& ityr::ori::global_ptr< T >::operator-- ( )
inlineconstexprnoexcept

◆ operator--() [2/2]

template<typename T >
constexpr this_t ityr::ori::global_ptr< T >::operator-- ( int  )
inlineconstexprnoexcept

◆ operator-=()

template<typename T >
constexpr this_t& ityr::ori::global_ptr< T >::operator-= ( difference_type  diff)
inlineconstexprnoexcept

◆ operator=() [1/2]

template<typename T >
constexpr this_t& ityr::ori::global_ptr< T >::operator= ( const this_t )
constexprdefaultnoexcept

◆ operator=() [2/2]

template<typename T >
constexpr this_t& ityr::ori::global_ptr< T >::operator= ( std::nullptr_t  )
inlineconstexprnoexcept

◆ operator[]()

template<typename T >
constexpr reference ityr::ori::global_ptr< T >::operator[] ( difference_type  diff) const
inlineconstexpr

◆ raw_ptr()

template<typename T >
constexpr pointer ityr::ori::global_ptr< T >::raw_ptr ( ) const
inlineconstexprnoexcept

◆ swap()

template<typename T >
constexpr void ityr::ori::global_ptr< T >::swap ( this_t p)
inlineconstexprnoexcept

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