CYD-UI
A C++ library for building native graphic user interfaces
Loading...
Searching...
No Matches
type_mappings.cppm
Go to the documentation of this file.
1
//
2
// Created by castle on 2/22/25.
3
//
4
5
export
module
cydui.interpolation:mappings
;
6
7
import
std;
8
9
export
namespace
cydui
{
10
template
<
typename
T>
11
struct
interp_mapping
;
12
13
template
<
typename
T>
14
concept
HasInterpolationMapping
=
requires
(T t) {
15
{
interp_mapping<T>::to_float
(t) } -> std::same_as<float>;
16
{
interp_mapping<T>::from_float
(std::declval<float>()) } -> std::same_as<T>;
17
};
18
19
template
<
typename
T>
20
struct
static_cast_interp_mapping
{
21
static
float
to_float
(
const
T& val) {
22
return
static_cast<
float
>
(val);
23
}
24
25
static
T
from_float
(
float
val) {
26
return
static_cast<
T
>
(val);
27
}
28
};
29
}
30
31
export
template
<>
32
struct
cydui::interp_mapping
<int>:
cydui::static_cast_interp_mapping
<int>{};
33
34
export
template
<>
35
struct
cydui::interp_mapping
<long>:
cydui::static_cast_interp_mapping
<long>{};
36
37
export
template
<>
38
struct
cydui::interp_mapping
<double>:
cydui::static_cast_interp_mapping
<double>{};
cydui::HasInterpolationMapping
Definition
type_mappings.cppm:14
cydui.interpolation
cydui
Definition
animations.cppm:32
cydui::interp_mapping
Definition
type_mappings.cppm:11
cydui::static_cast_interp_mapping
Definition
type_mappings.cppm:20
cydui::static_cast_interp_mapping::to_float
static float to_float(const T &val)
Definition
type_mappings.cppm:21
cydui::static_cast_interp_mapping::from_float
static T from_float(float val)
Definition
type_mappings.cppm:25
include
cyd_ui
animations
interpolation
type_mappings.cppm
Generated by
1.13.2