#pragma once namespace math { template concept arithmetic = std::is_arithmetic_v; template concept signed_arithmetic = std::is_arithmetic_v && std::is_signed_v; template concept unsigned_arithmetic = std::is_arithmetic_v && std::is_unsigned_v; } // namespace math