#pragma once #include #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; using trait_type = stream_trait; using value_type = typename trait_type::value_type; using result_type = stream_result; object_type ref; /** * @brief Value constructor. */ template inline stream(X_object&& p_ref); /** * @brief Function that will be called repeatedly to check if the stream has values. */ inline result_type poll(); }; }