CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::DynamicLibrary::Symbol< T > Struct Template Reference

A helper structure that provides an implicit conversion operator from a loaded void* function pointer into a T function pointer. More...

#include <CeresEngine/Foundation/DynamicLibrary.hpp>

Public Types

using Ptr = T *
 A variable pointer type.
 

Public Member Functions

 Symbol (const Ptr ptr)
 Creates a new Symbol wrapper.
 
 operator bool () const noexcept
 
 operator T () const
 
 operator const T & () const
 
 operator T& ()
 
Symboloperator= (T &&value)
 
Toperator-> () noexcept
 
const Toperator-> () const noexcept
 
Toperator* () noexcept
 
const Toperator* () const noexcept
 

Public Attributes

Ptr ptr = nullptr
 A pointer to the variable.
 

Detailed Description

template<typename T>
struct CeresEngine::DynamicLibrary::Symbol< T >

A helper structure that provides an implicit conversion operator from a loaded void* function pointer into a T function pointer.

Member Typedef Documentation

◆ Ptr

A variable pointer type.

Constructor & Destructor Documentation

◆ Symbol()

template<typename T >
CeresEngine::DynamicLibrary::Symbol< T >::Symbol ( const Ptr  ptr)
inlineexplicit

Creates a new Symbol wrapper.

Parameters
ptrThe symbol pointer

Member Function Documentation

◆ operator bool()

template<typename T >
CeresEngine::DynamicLibrary::Symbol< T >::operator bool ( ) const
inlineexplicitnoexcept
Returns
true if the variable is available

◆ operator const T &()

Returns
The variable value

◆ operator T()

Returns
The variable value

◆ operator T&()

Returns
The variable value

◆ operator*() [1/2]

template<typename T >
const T & CeresEngine::DynamicLibrary::Symbol< T >::operator* ( ) const
inlinenoexcept

◆ operator*() [2/2]

template<typename T >
T & CeresEngine::DynamicLibrary::Symbol< T >::operator* ( )
inlinenoexcept

◆ operator->() [1/2]

template<typename T >
const T * CeresEngine::DynamicLibrary::Symbol< T >::operator-> ( ) const
inlinenoexcept

◆ operator->() [2/2]

template<typename T >
T * CeresEngine::DynamicLibrary::Symbol< T >::operator-> ( )
inlinenoexcept
Returns
A pointer to the variable

◆ operator=()

template<typename T >
Symbol & CeresEngine::DynamicLibrary::Symbol< T >::operator= ( T &&  value)
inline

Member Data Documentation

◆ ptr

A pointer to the variable.


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