#pragma once #include "templates.hpp" namespace kel { namespace sch { struct UnsignedInteger {}; struct SignedInteger {}; struct FloatingPoint {}; template struct MixedPrecision { using StorageType = StorageT; using InterfaceType = InterfaceT; }; template struct Primitive { using PrimitiveType = PrimType; static constexpr uint64_t Bytes = N; }; template struct Array { using InnerType = T; static constexpr std::array Dimensions{Dims...}; }; } }