Files
MeanField_SERiF/src/include/serif/utils/misc/concepts/enumeration.hpp
Emily Boudreaux c44584c1e7 feat(quadrature): quadrature system brought over
Ported and dramatically cleaned up the quadrature system. This includes centralizing all field definitions
2026-09-19 07:35:57 -04:00

18 lines
664 B
C++

#pragma once
#include "serif/utils/misc/concepts/concat.hpp"
#include "serif/utils/types/type_list.hpp"
namespace serif::utils::misc::concepts {
// Might make sense to rename these to FlatMap or some such
template <typename TypeList, template <typename> typename Descriptor>
struct EnumerateTypes;
template <template <typename> typename Descriptor, typename... TypeTs>
struct EnumerateTypes<types::TypeList<TypeTs...>, Descriptor> {
using Type = ConcatT<Descriptor<TypeTs>...>;
};
template <typename TypeList, template <typename> typename Descriptor>
using EnumerateTypesT = EnumerateTypes<TypeList, Descriptor>::Type;
}