SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
Public Member Functions | List of all members
SDL::SharedObjectBase Struct Reference

An opaque datatype that represents a loaded shared object. More...

Inheritance diagram for SDL::SharedObjectBase:
Inheritance graph
[legend]

Public Member Functions

 SharedObjectBase (StringParam sofile)
 Dynamically load a shared object.
 
FunctionPointer LoadFunction (StringParam name)
 Look up the address of the named function in a shared object.
 
constexpr Resource (T resource={})
 Constructs the underlying resource.
 
constexpr Resource (std::nullptr_t)
 Equivalent to default ctor.
 
constexpr Resource (std::nullopt_t)
 Equivalent to default ctor.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other)=delete
 
- Public Member Functions inherited from SDL::Resource< SDL_SharedObject * >
constexpr Resource (SDL_SharedObject * resource={})
 Constructs the underlying resource.
 
constexpr Resource (std::nullptr_t)
 Equivalent to default ctor.
 
constexpr Resource (std::nullopt_t)
 Equivalent to default ctor.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other)=delete
 
Resourceoperator= (const Resource &other)=delete
 
Resourceoperator= (Resource &&other)=delete
 
constexpr operator bool () const
 True if contains a valid resource.
 
constexpr bool operator== (const Resource &other) const=default
 Comparison.
 
constexpr bool operator== (std::nullopt_t) const
 Comparison.
 
constexpr bool operator== (std::nullptr_t) const
 Comparison.
 
constexpr SDL_SharedObject * get () const
 Return contained resource;.
 
constexpr SDL_SharedObject * release (SDL_SharedObject * newResource={})
 Return contained resource and empties or replace value.
 
constexpr const SDL_SharedObject * operator-> () const
 Access to fields.
 
constexpr SDL_SharedObject * operator-> ()
 Access to fields.
 

Detailed Description

Since
This datatype is available since SDL 3.2.0.
Category:
Resource
See also
SharedObjectBase.SharedObjectBase
SharedObjectBase.LoadFunction
SharedObjectRef.Unload
SharedObject
SharedObjectRef

Constructor & Destructor Documentation

◆ SharedObjectBase()

SDL::SharedObjectBase::SharedObjectBase ( StringParam  sofile)
inline
Parameters
sofilea system-dependent name of the object file.
Postcondition
an opaque pointer to the object handle or nullptr on failure; call GetError() for more information.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.
See also
SharedObjectBase.LoadFunction
SharedObjectRef.Unload

Member Function Documentation

◆ LoadFunction()

FunctionPointer SDL::SharedObjectBase::LoadFunction ( StringParam  name)
inline

This function pointer is no longer valid after calling SharedObjectRef.Unload().

This function can only look up C function names. Other languages may have name mangling and intrinsic language support that varies from compiler to compiler.

Make sure you declare your function pointers with the same calling convention as the actual library function. Your code will crash mysteriously if you do not do this.

If the requested function doesn't exist, nullptr is returned.

Parameters
namethe name of the function to look up.
Returns
a pointer to the function or nullptr on failure; call GetError() for more information.
Thread safety:
It is safe to call this function from any thread.
Since
This function is available since SDL 3.2.0.
See also
SharedObjectBase.SharedObjectBase

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