feat(quadrature): quadrature system brought over

Ported and dramatically cleaned up the quadrature system. This includes centralizing all field definitions
This commit is contained in:
2026-09-19 07:35:57 -04:00
parent 7b4f30d945
commit c44584c1e7
75 changed files with 8936 additions and 172 deletions

View File

@@ -0,0 +1,18 @@
#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;
}