timer_queue_ptime.ipp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //
  2. // detail/impl/timer_queue_ptime.ipp
  3. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. //
  5. // Copyright (c) 2003-2023 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 ASIO_DETAIL_IMPL_TIMER_QUEUE_PTIME_IPP
  11. #define ASIO_DETAIL_IMPL_TIMER_QUEUE_PTIME_IPP
  12. #if defined(_MSC_VER) && (_MSC_VER >= 1200)
  13. # pragma once
  14. #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
  15. #include "asio/detail/config.hpp"
  16. #if defined(ASIO_HAS_BOOST_DATE_TIME)
  17. #include "asio/detail/timer_queue_ptime.hpp"
  18. #include "asio/detail/push_options.hpp"
  19. namespace asio {
  20. namespace detail {
  21. timer_queue<time_traits<boost::posix_time::ptime>>::timer_queue()
  22. {
  23. }
  24. timer_queue<time_traits<boost::posix_time::ptime>>::~timer_queue()
  25. {
  26. }
  27. bool timer_queue<time_traits<boost::posix_time::ptime>>::enqueue_timer(
  28. const time_type& time, per_timer_data& timer, wait_op* op)
  29. {
  30. return impl_.enqueue_timer(time, timer, op);
  31. }
  32. bool timer_queue<time_traits<boost::posix_time::ptime>>::empty() const
  33. {
  34. return impl_.empty();
  35. }
  36. long timer_queue<time_traits<boost::posix_time::ptime>>::wait_duration_msec(
  37. long max_duration) const
  38. {
  39. return impl_.wait_duration_msec(max_duration);
  40. }
  41. long timer_queue<time_traits<boost::posix_time::ptime>>::wait_duration_usec(
  42. long max_duration) const
  43. {
  44. return impl_.wait_duration_usec(max_duration);
  45. }
  46. void timer_queue<time_traits<boost::posix_time::ptime>>::get_ready_timers(
  47. op_queue<operation>& ops)
  48. {
  49. impl_.get_ready_timers(ops);
  50. }
  51. void timer_queue<time_traits<boost::posix_time::ptime>>::get_all_timers(
  52. op_queue<operation>& ops)
  53. {
  54. impl_.get_all_timers(ops);
  55. }
  56. std::size_t timer_queue<time_traits<boost::posix_time::ptime>>::cancel_timer(
  57. per_timer_data& timer, op_queue<operation>& ops, std::size_t max_cancelled)
  58. {
  59. return impl_.cancel_timer(timer, ops, max_cancelled);
  60. }
  61. void timer_queue<time_traits<boost::posix_time::ptime>>::cancel_timer_by_key(
  62. per_timer_data* timer, op_queue<operation>& ops, void* cancellation_key)
  63. {
  64. impl_.cancel_timer_by_key(timer, ops, cancellation_key);
  65. }
  66. void timer_queue<time_traits<boost::posix_time::ptime>>::move_timer(
  67. per_timer_data& target, per_timer_data& source)
  68. {
  69. impl_.move_timer(target, source);
  70. }
  71. } // namespace detail
  72. } // namespace asio
  73. #include "asio/detail/pop_options.hpp"
  74. #endif // defined(ASIO_HAS_BOOST_DATE_TIME)
  75. #endif // ASIO_DETAIL_IMPL_TIMER_QUEUE_PTIME_IPP