Add custom ODR-safe assert.

This commit is contained in:
Antonio Sánchez
2023-01-20 17:38:13 +00:00
committed by Rasmus Munk Larsen
parent 3fe8c51104
commit 08c961e837
4 changed files with 188 additions and 17 deletions

View File

@@ -153,6 +153,21 @@ template<typename T> struct is_same<T,T> { enum { value = 1 }; };
template< class T >
struct is_void : is_same<void, std::remove_const_t<T>> {};
/** \internal
* Implementation of std::void_t for SFINAE.
*
* Pre C++17:
* Custom implementation.
*
* Post C++17: Uses std::void_t
*/
#if EIGEN_COMP_CXXVER >= 17
using std::void_t;
#else
template<typename...>
using void_t = void;
#endif
template<> struct is_arithmetic<signed long long> { enum { value = true }; };
template<> struct is_arithmetic<unsigned long long> { enum { value = true }; };
using std::is_integral;