//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // duration // template // constexpr // typename common_type::type // operator/(const duration& lhs, const duration& rhs); #include #include int main() { { std::chrono::nanoseconds ns1(15); std::chrono::nanoseconds ns2(5); assert(ns1 / ns2 == 3); } { std::chrono::microseconds us1(15); std::chrono::nanoseconds ns2(5); assert(us1 / ns2 == 3000); } { std::chrono::duration > s1(30); std::chrono::duration > s2(5); assert(s1 / s2 == 6); } { std::chrono::duration > s1(30); std::chrono::duration > s2(5); assert(s1 / s2 == 20./3); } #ifndef _LIBCPP_HAS_NO_CONSTEXPR { constexpr std::chrono::nanoseconds ns1(15); constexpr std::chrono::nanoseconds ns2(5); static_assert(ns1 / ns2 == 3, ""); } { constexpr std::chrono::microseconds us1(15); constexpr std::chrono::nanoseconds ns2(5); static_assert(us1 / ns2 == 3000, ""); } { constexpr std::chrono::duration > s1(30); constexpr std::chrono::duration > s2(5); static_assert(s1 / s2 == 6, ""); } { constexpr std::chrono::duration > s1(30); constexpr std::chrono::duration > s2(5); static_assert(s1 / s2 == 20./3, ""); } #endif }