timer_scheduler_fwd.hpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // detail/timer_scheduler_fwd.hpp
  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_TIMER_SCHEDULER_FWD_HPP
  11. #define ASIO_DETAIL_TIMER_SCHEDULER_FWD_HPP
  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. namespace asio {
  17. namespace detail {
  18. #if defined(ASIO_WINDOWS_RUNTIME)
  19. typedef class winrt_timer_scheduler timer_scheduler;
  20. #elif defined(ASIO_HAS_IOCP)
  21. typedef class win_iocp_io_context timer_scheduler;
  22. #elif defined(ASIO_HAS_IO_URING_AS_DEFAULT)
  23. typedef class io_uring_service timer_scheduler;
  24. #elif defined(ASIO_HAS_EPOLL)
  25. typedef class epoll_reactor timer_scheduler;
  26. #elif defined(ASIO_HAS_KQUEUE)
  27. typedef class kqueue_reactor timer_scheduler;
  28. #elif defined(ASIO_HAS_DEV_POLL)
  29. typedef class dev_poll_reactor timer_scheduler;
  30. #else
  31. typedef class select_reactor timer_scheduler;
  32. #endif
  33. } // namespace detail
  34. } // namespace asio
  35. #endif // ASIO_DETAIL_TIMER_SCHEDULER_FWD_HPP