Update DateTime to compile on Android (#6732)

Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
This commit is contained in:
Anton Kolesnyk 2025-09-11 15:28:42 -07:00 committed by GitHub
parent 34c80e3aa2
commit e7063f78ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -50,11 +50,21 @@ DateTime GetMaxDateTime()
#pragma warning(disable : 6326)
#endif
static_assert(
std::is_same<DateTime::clock::duration::rep, std::chrono::system_clock::duration::rep>::value,
"DateTime::clock::duration::rep must be the same as "
"std::chrono::system_clock::duration::rep");
std::is_signed<std::chrono::system_clock::duration::rep>::value
&& std::is_integral<std::chrono::system_clock::duration::rep>::value
&& sizeof(std::chrono::system_clock::duration::rep) <= sizeof(std::int64_t),
"Currently, GetMaxDateTime() is written with an expectation that "
"std::chrono::system_clock::duration::rep is signed integral type that can fit into 64 "
"bits.");
using Rep = DateTime::clock::duration::rep;
static_assert(
std::is_signed<DateTime::clock::duration::rep>::value
&& std::is_integral<DateTime::clock::duration::rep>::value
&& sizeof(DateTime::clock::duration::rep) <= sizeof(std::int64_t),
"GetMaxDateTime() expects DateTime::clock::duration::rep to be signed integral type that can "
"fit into 64 bits.");
using Rep = std::int64_t;
using CommonDuration = std::chrono::duration<
Rep,