diff options
Diffstat (limited to 'boost/asio/high_resolution_timer.hpp')
-rw-r--r-- | boost/asio/high_resolution_timer.hpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/boost/asio/high_resolution_timer.hpp b/boost/asio/high_resolution_timer.hpp new file mode 100644 index 0000000000..197a68e9fd --- /dev/null +++ b/boost/asio/high_resolution_timer.hpp @@ -0,0 +1,65 @@ +// +// high_resolution_timer.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +#ifndef BOOST_ASIO_HIGH_RESOLUTION_TIMER_HPP +#define BOOST_ASIO_HIGH_RESOLUTION_TIMER_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include <boost/asio/detail/config.hpp> + +#if defined(BOOST_ASIO_HAS_STD_CHRONO) \ + || defined(BOOST_ASIO_HAS_BOOST_CHRONO) \ + || defined(GENERATING_DOCUMENTATION) + +#if defined(BOOST_ASIO_HAS_STD_CHRONO) +# include <chrono> +#elif defined(BOOST_ASIO_HAS_BOOST_CHRONO) +# include <boost/chrono/system_clocks.hpp> +#endif + +#include <boost/asio/basic_waitable_timer.hpp> + +namespace boost { +namespace asio { + +#if defined(GENERATING_DOCUMENTATION) +/// Typedef for a timer based on the high resolution clock. +/** + * This typedef uses the C++11 @c <chrono> standard library facility, if + * available. Otherwise, it may use the Boost.Chrono library. To explicitly + * utilise Boost.Chrono, use the basic_waitable_timer template directly: + * @code + * typedef basic_waitable_timer<boost::chrono::high_resolution_clock> timer; + * @endcode + */ +typedef basic_waitable_timer< + chrono::high_resolution_clock> + high_resolution_timer; +#elif defined(BOOST_ASIO_HAS_STD_CHRONO) +typedef basic_waitable_timer< + std::chrono::high_resolution_clock> + high_resolution_timer; +#elif defined(BOOST_ASIO_HAS_BOOST_CHRONO) +typedef basic_waitable_timer< + boost::chrono::high_resolution_clock> + high_resolution_timer; +#endif + +} // namespace asio +} // namespace boost + +#endif // defined(BOOST_ASIO_HAS_STD_CHRONO) + // || defined(BOOST_ASIO_HAS_BOOST_CHRONO) + // || defined(GENERATING_DOCUMENTATION) + +#endif // BOOST_ASIO_HIGH_RESOLUTION_TIMER_HPP |