IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
params_types.hxx
Go to the documentation of this file.
1
3
4#pragma once
5#include <ice/math.hxx>
7#include <ice/string.hxx>
8#include <ice/span.hxx>
9#include <type_traits>
10
11namespace ice
12{
13
14 struct ParamsInternal;
15 struct ParamInstanceBase;
16
18 using ParamsCustomCallback = bool(*)(void* userdata, ice::Span<ice::String const> results) noexcept;
19
20 namespace concepts
21 {
22
23 template<typename T>
24 concept ParamCustomType = requires(T t) {
25 std::is_same_v<decltype(&T::param_parse_results), bool(*)(T&, ice::Span<ice::String const>) noexcept>;
26 };
27
28 } // namespace concepts
29
30} // namespace ice
Definition params_types.hxx:24
Definition container_concepts.hxx:12
SPDX-License-Identifier: MIT.
Definition array.hxx:12
ice::UniquePtr< ParamsInternal > const Params
Definition params_types.hxx:17
bool(*)(void *userdata, ice::Span< ice::String const > results) noexcept ParamsCustomCallback
Definition params_types.hxx:18
Base class for global defined parameter instances.
Definition params.hxx:114
A view into an array of objects laid out in contiguous memory.
Definition span.hxx:17
Definition mem_unique_ptr.hxx:25