On 2016-06-10 19:27, Thiago Macieira wrote: > On sexta-feira, 10 de junho de 2016 16:12:10 PDT Matthew Woehlke wrote: >> On 2016-06-10 13:53, Thiago Macieira wrote: >>> I've added a set of std::chrono API to QTimer[1] and QDeadlineTimer[2] and >>> we're hitting a snag on what to name the getters. The setters are fine >>> because> >>> they're just overloads: >>> timer.setInterval(3); // Qt; milliseconds >>> timer.setInterval(3ms); >>> deadline.setRemainingTime(3600000); // milliseconds >>> deadline.setRemainingTime(1h); >>> deadline.setDeadline(QDeadlineTimer::current().deadline() + 3600000); >>> deadline.setDeadline(std::chrono::steady_clock::now() + 1h); >>> >>> The problem are the getters: what do we call them? >> >> Qt6-only option... return a QTimeInterval or some such with (implicit) >> conversion operators. > > QTimeInterval helps for std::chrono::duration, but not for the other use in > QDeadlineTimer: deadline() returns the equivalent of a > std::chrono::time_point. > > QDeadlineTimer *is* the equivalent of a std::chrono::time_point. > >> I expect there are issues with that, but feels worth mentioning at least >> for the sake of discussion. > > So, you're suggesting not doing anything now, leave std::chrono support out > in > Qt 5, and do it only for Qt 6?
I'm suggesting that a possible solution to the problem is to return a single complex type¹ that can be converted - perhaps implicitly - into the desired simple types (e.g. int milliseconds, std::chrono types). I wouldn't go so far as to claim that as the *best* solution :-). (¹ Or, the appropriate of several such types, as needed.) -- Matthew _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development