Easy-to-use C++ class for asking current time stamp in milli-, micro- and nanoseconds I have to benchmark my code often, and decided that it is about time to implement an easy API for that:

current_time.h:

#ifndef CURRENT_TIME_H
#define CURRENT_TIME_H

#include &lt;chrono&gt;
#include &lt;cstdint&gt;

class CurrentTime {
    std::chrono::high_resolution_clock m_clock;

public:
    uint64_t milliseconds();
    uint64_t microseconds();
    uint64_t nanoseconds();
};

#endif  /* CURRENT_TIME_H */


current_time.cpp:

#include "current_time.h"

uint64_t CurrentTime::milliseconds() 
{
    return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;
              (m_clock.now().time_since_epoch()).count();
}

uint64_t CurrentTime::microseconds() 
{
    return std::chrono::duration_cast&lt;std::chrono::microseconds&gt;
              (m_clock.now().time_since_epoch()).count();
}

uint64_t CurrentTime::nanoseconds()
{
    return std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;
              (m_clock.now().time_since_epoch()).count();
}    


main.cpp:

#include &lt;iostream&gt;
#include "current_time.h"

using namespace std;

int main(int argc, char** argv) {
    CurrentTime current_time;

    uint64_t start1 = current_time.milliseconds();
    uint64_t start2 = current_time.microseconds();
    uint64_t start3 = current_time.nanoseconds();

    for (int i = 0; i &lt; 100000000; ++i) {

    }

    uint64_t end1 = current_time.milliseconds();
    uint64_t end2 = current_time.microseconds();
    uint64_t end3 = current_time.nanoseconds();

    cout &lt;&lt; "Milliseconds: "   &lt;&lt; (end1 - start1)
         &lt;&lt; ", microseconds: " &lt;&lt; (end2 - start2)
         &lt;&lt; ", nanoseconds: "  &lt;&lt; (end3 - start3)
         &lt;&lt; ".\n";

    return 0;
}


Any critique is much appreciated, yet I would like to hear your opinions on returning uint64_t: is there some implicit conversions going on?
Since std::chrono::high_resolution_clock::now() is static method you don't need any instance for it.

This is all you need.

#ifndef CURRENT_TIME_H
#define CURRENT_TIME_H

#include &lt;chrono&gt;
#include &lt;cstdint&gt;

inline uint64_t CurrentTime_milliseconds() 
{
    return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;
              (std::chrono::high_resolution_clock::now().time_since_epoch()).count();
}

inline uint64_t CurrentTime_microseconds() 
{
    return std::chrono::duration_cast&lt;std::chrono::microseconds&gt;
              (std::chrono::high_resolution_clock::now().time_since_epoch()).count();
}

inline uint64_t CurrentTime_nanoseconds()
{
    return std::chrono::duration_cast&lt;std::chrono::nanoseconds&gt;
              (std::chrono::high_resolution_clock::now().time_since_epoch()).count();
}  

#endif  /* CURRENT_TIME_H */