c++ - counting time point in chrono library -


i'm using chrono library first time please lenient c:. want write simple time function return processor tics chrono. when try use clock() function value time point initialized steady_clock::now(), gcc says time_point doesn't contain count() member.

/home/siery/documents/project/changestatemachine/main.cpp|41|error: ‘struct std::chrono::time_point<std::chrono::_v2::steady_clock, std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >’ has no member named ‘count’| 

here code:

float gettime() {     float tic = 0.0;     auto start = std::chrono::steady_clock::now();      tic = (float)start.count();      return tic; } 

thank you!

edit:

gettime() function should return current time calculate delta time update objects in program like:

fpasttime = fcurrenttime; fcurrenttime = gettime();  fdt = fcurrenttime - fpasttime; if (fdt >= 0.15f)     fdt = 0.15f; update(fdt); 

recommendation:

std::chrono::steady_clock::time_point gettime() {     return std::chrono::steady_clock::now(); } 

if want result of timing in terms of float-based seconds, this:

using fsec = std::chrono::duration<float>; auto t0 = gettime(); some_function(); auto t1 = gettime(); fsec delta = t1 - t0; std::cout << delta.count() << "s\n"; 
  • you not responsible units conversions, therefore not introduce bugs in area.
  • the code simple. simple == low risk.
  • there not need gettime() wrapper.

edit:

#include <chrono>  using namespace std::chrono;  using fsec = duration<float>; using ftp = time_point<steady_clock, fsec>;  ftp gettime() {     return steady_clock::now(); }  int main() {     auto fpasttime = gettime();     auto fcurrenttime = gettime();      auto fdt = fcurrenttime - fpasttime;     if (fdt >= 0.15s)         fdt = 0.15s;     // ... } 

the 0.15s requires c++14. in c++11 looks like:

    if (fdt >= fsec{0.15})         fdt = fsec{0.15}; 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

python 3.5 - Pyqtgraph string in x tick -