26 template<
typename Type>
36 template<
typename Type>
37 concept not_memory = !std::is_pointer<Type>::value && !std::is_reference<Type>::value && std::is_object<Type>::value;
46 template<
typename Type>
56 template<
typename Type>
66 template<
typename Type>
76 template<
typename Type>
77 concept is_bitset_flag =
requires(Type type) { Type::value >= 0 && Type::value <= 7 && std::is_same<
decltype(Type::value),
unsigned short>::value; };
86 template<
typename Type>
87 concept valid_component = std::is_move_assignable<Type>::value && std::is_move_constructible<Type>::value && std::is_class<Type>::value;
95 template<
typename Loader,
typename Resource>
96 concept is_loader =
requires(Loader loader) { loader.operator() && std::is_class<Loader>::value; };