#pragma once #include "FastSIMD/FastSIMD.h" #include "FastSIMD/TypeList.h" template class FS_T; template CLASS* FastSIMD::ClassFactory() { if constexpr( ( CLASS::Supported_SIMD_Levels & LEVEL & FastSIMD::COMPILED_SIMD_LEVELS ) != 0 ) { static_assert( std::is_base_of_v> ); return new FS_T; } return nullptr; } #define FASTSIMD_BUILD_CLASS( CLASS ) \ template CLASS* FastSIMD::ClassFactory(); #include "../FastSIMD_BuildList.inl"