Здравствуйте, Cyberax, Вы писали:
C>Скажите, ну вот какой пиииииии в комитете не догадался сделать так, чтобы часы можно было вызывать через виртуальный метод?!?
Это ещё ерунда. А вот то, что авторы не догадались ввести объект
std::chrono::zero — вот это абсурд достойный Рима незнавшего нуля. Вот как сравнить
std::chrono::duration с нулём?
Или я туплю или округлить разницу двух time точек до секунд? в рамках С++14 задача не тривиальная:
namespace co = std::chrono
const auto diff_time = time1 - time2;
const decltype(diff_time) zero{};
const co::seconds diff_seconds = co::duration_cast<co::seconds>( zero < diff_time ? diff_time + co::microseconds(500)
: diff_time - co::microseconds(500)
);
Не, я понимаю, что вместо
zero < diff_time можно написать
time1 > time2, но это усложнение на ровном месте. И вообще, как можно было написать duration_cast, а с round тормозить 6 лет?