IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::Ptr< Object const > Class Template Reference

#include <ice/ptr.hxx>

Public Member Functions

 ~Ptr () noexcept
 Ptr (std::nullptr_t=nullptr) noexcept
 Ptr (Ptr const &other) noexcept
auto operator= (Ptr const &other) noexcept -> Ptr &
 Ptr (Ptr< Object > const &other) noexcept
auto operator= (Ptr< Object > const &other) noexcept -> Ptr &
 Ptr (Ptr &&other) noexcept
auto operator= (Ptr &&other) noexcept -> Ptr &
 Ptr (Ptr< Object > &&other) noexcept
auto operator= (Ptr< Object > &&other) noexcept -> Ptr &
template<typename Derived>
requires std::is_base_of_v<Object, Derived>
auto operator= (Ptr< Derived const > const &other) noexcept -> Ptr &
auto raw_ptr () const noexcept -> Object const *
auto operator-> () const noexcept -> Object const *
auto operator== (std::nullptr_t) const noexcept -> bool
auto operator= (Ptr< Derived const > const &other) noexcept -> Ptr &

Constructor & Destructor Documentation

◆ ~Ptr()

template<typename Object>
ice::Ptr< Object const >::~Ptr ( )
noexcept

◆ Ptr() [1/5]

template<typename Object>
ice::Ptr< Object const >::Ptr ( std::nullptr_t = nullptr)
explicitnoexcept

◆ Ptr() [2/5]

template<typename Object>
ice::Ptr< Object const >::Ptr ( Ptr< Object const > const & other)
noexcept

◆ Ptr() [3/5]

template<typename Object>
ice::Ptr< Object const >::Ptr ( Ptr< Object > const & other)
noexcept

◆ Ptr() [4/5]

template<typename Object>
ice::Ptr< Object const >::Ptr ( Ptr< Object const > && other)
noexcept

◆ Ptr() [5/5]

template<typename Object>
ice::Ptr< Object const >::Ptr ( Ptr< Object > && other)
noexcept

Member Function Documentation

◆ operator->()

template<typename Object>
auto ice::Ptr< Object const >::operator-> ( ) const -> Object const *
inlinenoexcept

◆ operator=() [1/6]

template<typename Object>
auto ice::Ptr< Object const >::operator= ( Ptr< Object const > && other) -> Ptr &
noexcept

◆ operator=() [2/6]

template<typename Object>
auto ice::Ptr< Object const >::operator= ( Ptr< Object const > const & other) -> Ptr &
noexcept

◆ operator=() [3/6]

auto ice::Ptr< Object >::operator= ( Ptr< Derived const > const & other) -> Ptr &
inlinenoexcept

◆ operator=() [4/6]

template<typename Object>
template<typename Derived>
requires std::is_base_of_v<Object, Derived>
auto ice::Ptr< Object const >::operator= ( Ptr< Derived const > const & other) -> Ptr &
noexcept

◆ operator=() [5/6]

template<typename Object>
auto ice::Ptr< Object const >::operator= ( Ptr< Object > && other) -> Ptr &
noexcept

◆ operator=() [6/6]

template<typename Object>
auto ice::Ptr< Object const >::operator= ( Ptr< Object > const & other) -> Ptr &
noexcept

◆ operator==()

template<typename Object>
auto ice::Ptr< Object const >::operator== ( std::nullptr_t ) const -> bool
inlinenoexcept

◆ raw_ptr()

template<typename Object>
auto ice::Ptr< Object const >::raw_ptr ( ) const -> Object const *
inlinenodiscardnoexcept

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