refactor: interoperability with quantity-like types simplified

Type trait specialization for each `quantity` type is not needed anymore.

Relates to #33.
This commit is contained in:
Mateusz Pusz committed 2020-10-07 14:29:12 +02:00
1 parent 2dd8c90250
commit d64d26a4c4
9 files changed
+66 -78

No files matched your search

+1 -4
View File
@@ -37,14 +37,11 @@ static_assert(std::constructible_from<si::time<si::second, std::int64_t>, std::c
static_assert(!std::convertible_to<std::chrono::seconds, si::time<si::second, std::int64_t>>);
static_assert(std::constructible_from<si::time<si::second, std::int64_t>, std::chrono::seconds>);
static_assert(!std::convertible_to<std::chrono::seconds, si::time<si::second, std::int64_t>>);
static_assert(std::constructible_from<si::time<si::second, std::int64_t>, std::chrono::hours>);
static_assert(!std::constructible_from<si::time<si::second, std::int64_t>, std::chrono::hours>);
static_assert(!std::convertible_to<std::chrono::hours, si::time<si::second, std::int64_t>>);
static_assert(!std::constructible_from<si::time<si::hour, std::int64_t>, std::chrono::seconds>);
static_assert(!std::convertible_to<std::chrono::seconds, si::time<si::hour, std::int64_t>>);
// quantity_cast
static_assert(quantity_cast<si::time<si::hour, int>>(7200s).count() == 2);
// CTAD
static_assert(std::is_same_v<decltype(quantity{1s}), si::time<si::second, std::int64_t>>);
static_assert(std::is_same_v<decltype(quantity{1h}), si::time<si::hour, std::int64_t>>);