5#ifndef MANIFESTALIASES_H
6#define MANIFESTALIASES_H
16 template<
typename Manifest,
typename =
void>
17 struct ExtractImages {};
19 template<
typename Manifest>
20 struct ExtractImages<
Manifest, std::void_t<typename Manifest::Images>>
22 using Images =
typename Manifest::Images;
29 template<
typename Manifest,
typename =
void>
30 struct ExtractFonts {};
32 template<
typename Manifest>
33 struct ExtractFonts<
Manifest, std::void_t<typename Manifest::Fonts>>
35 using Fonts =
typename Manifest::Fonts;
42 template<
typename Manifest,
typename =
void>
43 struct ExtractSounds {};
45 template<
typename Manifest>
46 struct ExtractSounds<
Manifest, std::void_t<typename Manifest::Sounds>>
48 using Sounds =
typename Manifest::Sounds;
55 template<
typename Manifest,
typename =
void>
56 struct ExtractState {};
58 template<
typename Manifest>
59 struct ExtractState<
Manifest, std::void_t<typename Manifest::State>>
61 using State =
typename Manifest::State;
68 template<
typename Manifest,
typename =
void>
69 struct ExtractFlags {};
71 template<
typename Manifest>
72 struct ExtractFlags<
Manifest, std::void_t<typename Manifest::Flags>>
74 using Flags =
typename Manifest::Flags;
81 template<
typename Manifest,
typename =
void>
82 struct ExtractEvent {};
84 template<
typename Manifest>
85 struct ExtractEvent<
Manifest, std::void_t<typename Manifest::Event>>
87 using Event =
typename Manifest::Event;
130 template<
typename Manifest>
132 ExtractImages<Manifest>,
133 ExtractFonts<Manifest>,
134 ExtractSounds<Manifest>,
135 ExtractState<Manifest>,
136 ExtractFlags<Manifest>,
137 ExtractEvent<Manifest>
Base class for all Malena manifests.
Event
Framework-level enum for all built-in Malena events.
Pulls manifest inner type aliases into a class's scope.