IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::os::Handle< HType > Struct Template Reference

#include <ice/os/handle.hxx>

Public Types

using NativeDescriptor = HandleDescriptor<HType>
using NativeInternal = HandleInternal<HType, ManagedHandleDescriptor<HType>>
using NativeType = typename NativeInternal::NativeType

Public Member Functions

 Handle () noexcept
 Handle (NativeType value) noexcept
 Handle (typename NativeInternal::ManagerType manager, NativeType value) noexcept
 Handle (Handle &&other) noexcept
 Handle (Handle const &other) noexcept=delete
 ~Handle () noexcept
auto operator= (Handle &&other) noexcept -> Handle &
auto operator= (Handle const &other) noexcept -> Handle &=delete
 operator bool () const noexcept
 operator bool () const noexcept
auto native () const noexcept -> NativeType
bool close () noexcept

Member Typedef Documentation

◆ NativeDescriptor

template<HandleType HType>
using ice::os::Handle< HType >::NativeDescriptor = HandleDescriptor<HType>

◆ NativeInternal

template<HandleType HType>
using ice::os::Handle< HType >::NativeInternal = HandleInternal<HType, ManagedHandleDescriptor<HType>>

◆ NativeType

template<HandleType HType>
using ice::os::Handle< HType >::NativeType = typename NativeInternal::NativeType

Constructor & Destructor Documentation

◆ Handle() [1/5]

template<HandleType HType>
requires (ValidHandleDescriptor<HType>)
ice::os::Handle< HType >::Handle ( )
noexcept

◆ Handle() [2/5]

template<HandleType HType>
requires (ManagedHandleDescriptor<HType> == false)
ice::os::Handle< HType >::Handle ( NativeType value)
explicitnoexcept

◆ Handle() [3/5]

template<HandleType HType>
requires (ManagedHandleDescriptor<HType> == true)
ice::os::Handle< HType >::Handle ( typename NativeInternal::ManagerType manager,
NativeType value )
explicitnoexcept

◆ Handle() [4/5]

template<HandleType HType>
requires (ValidHandleDescriptor<HType>)
ice::os::Handle< HType >::Handle ( Handle< HType > && other)
noexcept

◆ Handle() [5/5]

template<HandleType HType>
ice::os::Handle< HType >::Handle ( Handle< HType > const & other)
deletenoexcept

◆ ~Handle()

template<HandleType HType>
requires (ValidHandleDescriptor<HType>)
ice::os::Handle< HType >::~Handle ( )
noexcept

Member Function Documentation

◆ close()

template<HandleType HType>
requires (ValidHandleDescriptor<HType>)
bool ice::os::Handle< HType >::close ( )
noexcept

◆ native()

template<HandleType HType>
auto ice::os::Handle< HType >::native ( ) const -> NativeType
inlinenoexcept

◆ operator bool() [1/2]

template<HandleType HType>
ice::os::Handle< HType >::operator bool ( ) const
inlinenoexcept

◆ operator bool() [2/2]

template<HandleType HType>
ice::os::Handle< HType >::operator bool ( ) const
inlinenoexcept

◆ operator=() [1/2]

template<HandleType HType>
requires (ValidHandleDescriptor<HType>)
auto ice::os::Handle< HType >::operator= ( Handle< HType > && other) -> Handle &
noexcept

◆ operator=() [2/2]

template<HandleType HType>
auto ice::os::Handle< HType >::operator= ( Handle< HType > const & other) -> Handle &=delete
deletenoexcept

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