26 typename T::InputType;
27 typename T::OutputType;
28 requires std::derived_from<T, process::BaseTask<typename T::InputType, typename T::OutputType>>;
29 {
writer.run(converter, 0) } -> std::same_as<std::expected<typename T::OutputType, std::string_view>>;
30 {
writer.run(converter) } -> std::same_as<std::expected<typename T::OutputType, std::string_view>>;
31 {
writer() } -> std::same_as<typename T::OutputType>;
32 {
writer(0) } -> std::same_as<typename T::OutputType>;
33 requires not std::copyable<T>;
34 requires std::movable<T>;