high_resolution_timer.hpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //
  2. // high_resolution_timer.hpp
  3. // ~~~~~~~~~~~~~~~~~~~~~~~~~
  4. //
  5. // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com)
  6. //
  7. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  8. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9. //
  10. #ifndef BOOST_ASIO_HIGH_RESOLUTION_TIMER_HPP
  11. #define BOOST_ASIO_HIGH_RESOLUTION_TIMER_HPP
  12. #if defined(_MSC_VER) && (_MSC_VER >= 1200)
  13. # pragma once
  14. #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
  15. #include <boost/asio/detail/config.hpp>
  16. #if defined(BOOST_ASIO_HAS_CHRONO) || defined(GENERATING_DOCUMENTATION)
  17. #include <boost/asio/basic_waitable_timer.hpp>
  18. #include <boost/asio/detail/chrono.hpp>
  19. namespace boost {
  20. namespace asio {
  21. /// Typedef for a timer based on the high resolution clock.
  22. /**
  23. * This typedef uses the C++11 @c &lt;chrono&gt; standard library facility, if
  24. * available. Otherwise, it may use the Boost.Chrono library. To explicitly
  25. * utilise Boost.Chrono, use the basic_waitable_timer template directly:
  26. * @code
  27. * typedef basic_waitable_timer<boost::chrono::high_resolution_clock> timer;
  28. * @endcode
  29. */
  30. typedef basic_waitable_timer<
  31. chrono::high_resolution_clock>
  32. high_resolution_timer;
  33. } // namespace asio
  34. } // namespace boost
  35. #endif // defined(BOOST_ASIO_HAS_CHRONO) || defined(GENERATING_DOCUMENTATION)
  36. #endif // BOOST_ASIO_HIGH_RESOLUTION_TIMER_HPP