5 ms·
Nice fix! It's been a while since I've done c++ so does the following code const auto elapsed = steady_clock::now() - start; if (elapsed > 10s) { actually
by karma_fountain 7y ago
Nice fix! It's been a while since I've done c++ so does the following code
const auto elapsed = steady_clock::now() - start;
if (elapsed > 10s) {
actually use a units quantifier on the 10, i.e. does 10s mean 10 seconds? Is that a library thing? Cool if so.
- sgn 7y agoIt’s called user-defined literal suffix in C++11. https://en.cppreference.com/w/cpp/language/user_literal https://en.cppreference.com/w/cpp/language/user_literal The “s” suffix come with C++14 https://en.cppreference.com/w/cpp/chrono/operator%22%22s https://en.cppreference.com/w/cpp/chrono/operator%22%22s
- andijcr 7y agothat's a user defined literal, a language feature: https://en.cppreference.com/w/cpp/language/user_literal https://en.cppreference.com/w/cpp/language/user_literal the std::chrono library reserved some suffixes (under std::literals::chrono_literals) for time units https://en.cppreference.com/w/cpp/symbol_index/chrono_literals https://en.cppreference.com/w/cpp/symbol_index/chrono_litera...
- StephanTLavavej 7y agoAnd this works because I have `using namespace std;` in the test, which makes all of the Standard Library's "user"-defined literals available. So does `using namespace std::literals;` (without dragging in other names). There's also the extremely fine-grained `using namespace std::chrono_literals;` (no need to type `using namespace std::literals::chrono_literals;` due to how inline namespaces work) which drags in just the chrono duration literals. Finally, `using namespace std::chrono;` drags in all of the chrono names and the chrono literals. The reason that a using-directive of some kind is necessary is that UDLs are provided by operators, and directly spelling out the operator in order to namespace-qualify it would be self-defeating. (Many people dislike `using namespace std;` and I understand their point, but when one works on the STL all day every day, this using-directive is sure nice for test code.) My exhaustive test case for this is (demonstrating all the different ways that chrono literals can be accessed): https://github.com/microsoft/STL/blob/31419650d472932dd24b9c5602707b0454f61fb2/tests/std/tests/Dev11_0000000_user_defined_literals/test.cpp#L77-L122 https://github.com/microsoft/STL/blob/31419650d472932dd24b9c...