#### Chrono

Asio provides timers based on the `std::chrono` facilities via the basic_waitable_timer class template. The typedefs system_timer, steady_timer and high_resolution_timer utilise the standard clocks `system_clock`, `steady_clock` and `high_resolution_clock` respectively.

Support for the `std::chrono` facilities is automatically enabled for `g++` 4.6 and later, when the `-std=c++0x` or `-std=gnu++0x` compiler options are used. (Note that, for `g++`, the draft-standard `monotonic_clock` is used in place of `steady_clock`.) Support may be disabled by defining `ASIO_DISABLE_STD_CHRONO`, or explicitly enabled for other compilers by defining `ASIO_HAS_STD_CHRONO`.

When standard `chrono` is unavailable, Asio will otherwise use the Boost.Chrono library. The basic_waitable_timer class template may be used with either.