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.
|
- #pragma once
-
- #include <type_traits>
-
- #include "result.h"
- #include "stream.pre.h"
-
- namespace asyncpp
- {
-
- template<
- typename T_object,
- typename T_impl>
- struct stream
- {
- using object_type = T_object;
- using clean_object_type = std::decay_t<object_type>;
- using trait_type = stream_trait<clean_object_type>;
- using value_type = typename trait_type::value_type;
- using result_type = stream_result<value_type>;
-
- object_type ref;
-
- /**
- * @brief Value constructor.
- */
- template<typename X_object>
- inline stream(X_object&& p_ref);
-
- /**
- * @brief Function that will be called repeatedly to check if the stream has values.
- */
- inline result_type poll();
- };
-
- }
|