#include <boost/chrono/chrono.hpp>
#include <boost/type_traits.hpp>
#include <iostream>
using namespace boost::chrono;
#if defined _MSC_VER
#pragma warning(push)
#pragma warning(disable:4100)
#endif
void manipulate_clock_object(system_clock clock)
#if defined _MSC_VER
#pragma warning(pop)
#endif
{
system_clock::duration delay = milliseconds(5);
system_clock::time_point start = clock.now();
while ((clock.now() - start) <= delay) {}
system_clock::time_point stop = clock.now();
system_clock::duration elapsed = stop - start;
std::cout << "paused " << nanoseconds(elapsed).count() << " nanoseconds\n";
}
int main()
{
manipulate_clock_object(system_clock());
return 0;
}