8#ifndef MALENA_TYPEEXTRACTION_H
9#define MALENA_TYPEEXTRACTION_H
27 template<
typename T,
typename =
void>
28 struct extract_Flags {
using type = void; };
31 struct extract_Flags<T, std::void_t<typename T::Flags>>
33 using type =
typename T::Flags;
42 template<
typename T,
typename =
void>
43 struct extract_State {
using type = void; };
46 struct extract_State<T, std::void_t<typename T::State>>
48 using type =
typename T::State;
57 template<
typename T,
typename =
void>
58 struct extract_TraitManifest {
using type = void; };
61 struct extract_TraitManifest<T, std::void_t<typename T::manifest_type>>
62 {
using type =
typename T::manifest_type; };