IceShard
1
A personal game engine project, with development focused on 2D/2.5D games.
Toggle main menu visibility
Loading...
Searching...
No Matches
ice
concepts
ModuleNegotiator
ice::concepts::ModuleNegotiator Concept Reference
#include <
ice/module_concepts.hxx
>
Concept definition
template
<
typename
T>
concept
ModuleNegotiator
=
requires
(T
const
& t,
ice::StringID_Arg
id,
ice::FnModuleSelectAPI
*
api
) {
{ t.query_apis(
id
,
ice::u32
{}, (
ice::ModuleAPI
*)
nullptr
, (
ice::u32
*)
nullptr
) } -> std::convertible_to<bool>;
{ t.register_api(
id
,
api
) } -> std::convertible_to<bool>;
{ t.from_app() } -> std::convertible_to<bool>;
} &&
requires
(T
const
& t,
ice::ProcAPIQuickRegisterFunc<APIConceptStruct>
func) {
{ t.register_api(func) } -> std::convertible_to<bool>;
}
ice::concepts::ModuleNegotiator
Definition
module_concepts.hxx:32
ice::api
Definition
devui_module.hxx:16
ice::ProcAPIQuickRegisterFunc
void(*)(T &out_api) noexcept ProcAPIQuickRegisterFunc
Definition
module_types.hxx:28
ice::StringID_Arg
std::conditional_t< ice::build::Constant_StringID_DebugInfoEnabled, StringID const &, StringID > StringID_Arg
Argument type used to pass ice::StringID values to functions.
Definition
stringid.hxx:23
ice::u32
std::uint32_t u32
Definition
types.hxx:26
ice::FnModuleSelectAPI
bool(ice::StringID_Hash, ice::u32, ice::ModuleAPI *) FnModuleSelectAPI
Definition
module_types.hxx:25
ice::ModuleAPI
Stores information about a single API entry.
Definition
module_info.hxx:33
Generated by
1.18.0