You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

28 lines
551 B

  1. #pragma once
  2. namespace asyncpp
  3. {
  4. template<typename T_impl>
  5. struct stream_base
  6. {
  7. template<typename T_stream>
  8. static inline auto poll(T_stream& self) = delete;
  9. };
  10. template<typename T, typename = void>
  11. struct stream_trait;
  12. template<
  13. typename T_object,
  14. typename T_impl = stream_trait<std::decay_t<T_object>>>
  15. struct stream;
  16. /**
  17. * @brief Construct a stream from the given value.
  18. */
  19. template<typename X_value>
  20. constexpr decltype(auto) as_stream(X_value&& value);
  21. }