Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::app::PluginTypeExport Struct Reference

C-compatible plugin identity exported by dynamic libraries. More...

#include <dynamic_plugin.hpp>

Static Public Member Functions

static constexpr PluginTypeExport From (const PluginTypeId &type_id) noexcept
 Builds an export descriptor from a PluginTypeId.
template<typename T>
static constexpr PluginTypeExport From () noexcept
 Builds an export descriptor from a plugin type.
template<typename T>
static constexpr PluginTypeExport From (const T &plugin) noexcept
 Builds an export descriptor from a plugin type.

Public Attributes

uint64_t hash = 0
 TypeIndex::Hash() for the plugin type
const char * qualified_name = nullptr
 Optional qualified type name.

Detailed Description

C-compatible plugin identity exported by dynamic libraries.

Returned from helios_plugin_type_id. qualified_name may be null; when set, storage must outlive the plugin image (typically static data).

Definition at line 34 of file dynamic_plugin.hpp.

Member Function Documentation

◆ From() [1/3]

template<typename T>
constexpr PluginTypeExport helios::app::PluginTypeExport::From ( )
inlinestaticnodiscardconstexprnoexcept

Builds an export descriptor from a plugin type.

Template Parameters
TPlugin type
Returns
Export descriptor suitable for helios_plugin_type_id

Definition at line 57 of file dynamic_plugin.hpp.

◆ From() [2/3]

constexpr PluginTypeExport helios::app::PluginTypeExport::From ( const PluginTypeId & type_id)
inlinestaticnodiscardconstexprnoexcept

Builds an export descriptor from a PluginTypeId.

Parameters
type_idPlugin type identity
Returns
Export descriptor suitable for helios_plugin_type_id

Definition at line 43 of file dynamic_plugin.hpp.

◆ From() [3/3]

template<typename T>
constexpr PluginTypeExport helios::app::PluginTypeExport::From ( const T & plugin)
inlinestaticnodiscardconstexprnoexcept

Builds an export descriptor from a plugin type.

Template Parameters
TPlugin type
Parameters
Plugininstance
Returns
Export descriptor suitable for helios_plugin_type_id

Definition at line 70 of file dynamic_plugin.hpp.

Member Data Documentation

◆ hash

uint64_t helios::app::PluginTypeExport::hash = 0

TypeIndex::Hash() for the plugin type

Definition at line 35 of file dynamic_plugin.hpp.

◆ qualified_name

const char* helios::app::PluginTypeExport::qualified_name = nullptr

Optional qualified type name.

Definition at line 36 of file dynamic_plugin.hpp.