// io_ex1.cpp ----------------------------------------------------------// // Copyright 2010 Howard Hinnant // Copyright 2010 Vicente J. Botet Escriba // Distributed under the Boost Software License, Version 1.0. // See http://www.boost.org/LICENSE_1_0.txt /* This code was adapted by Vicente J. Botet Escriba from Hinnant's html documentation. Many thanks to Howard for making his code available under the Boost license. */ #include #include #include #include int main() { using namespace boost::chrono; using std::cout; high_resolution_clock::time_point t0 = high_resolution_clock::now(); std::stringstream io; io << t0; BOOST_ASSERT(!io.fail()); cout << io.str() << '\n'; BOOST_ASSERT(!io.fail()); high_resolution_clock::time_point t1; io >> t1; BOOST_ASSERT(!io.fail()); cout << io.str() << '\n'; cout << t0 << '\n'; cout << t1 << '\n'; high_resolution_clock::time_point t = high_resolution_clock::now(); cout << t << '\n'; cout << "That took " << t - t0 << '\n'; cout << "That took " << t - t1 << '\n'; return 0; } //~ 50908679121461 nanoseconds since boot //~ That took 649630 nanoseconds