chrono::duration
ユーザーがlikeを指定しchrono::seconds
て の結果を返すことができる関数を作成しようとしていますchrono::duration::count
。
次のテンプレート関数を使用してこれを行うことができます。
template<typename D, typename Rep>
Rep getTimeSinceStart(){
return chrono::duration_cast<D>(chrono::steady_clock::now() - start).count();
};
この関数を呼び出すには、 の型を指定する必要がありますRep
。たとえば、 というオブジェクトがあると仮定すると、が のtimer
場合:Rep
long long
long long sinceStart = timer.getTimeSinceStart<chrono::seconds, long long>();
しかし、単に指定する方法はありますchrono::duration
か?
私は次のようなことを考えていました:
template<typename D>
D.rep getTimeSinceStart(){
return chrono::duration_cast<D>(chrono::steady_clock::now() - start).count();
};
このようにして、次のように呼び出すことができます:
long long sinceStart = timer.getTimeSinceStart<chrono::seconds>();