std::construct_at is missing in Android NDK, with C++20 turned on
On master branch, tested on android ndk r23 and r25.
In Core/util/Memory.h, it's only checking EIGEN_COMP_CXXVER. It's a bit ugly but would it be possible to add a check for ANDROID?
/** \internal
* This wraps C++20's std::construct_at, using placement new instead if it is not available.
*/
#if EIGEN_COMP_CXXVER >= 20
using std::construct_at;
#else
template<class T, class... Args>
EIGEN_DEVICE_FUNC T* construct_at( T* p, Args&&... args )
{
return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
T(std::forward<Args>(args)...);
}
#endif