| 393 | |
| 394 | template <class T> |
| 395 | static auto stringify(const T& value) { |
| 396 | if constexpr (std::is_same_v<T, std::nullptr_t>) { |
| 397 | return std::string{"null"}; |
| 398 | } else if constexpr (std::is_convertible_v<T, std::string>) { |
| 399 | return std::string{value}; |
| 400 | } else { |
| 401 | return caf::deep_to_string(value); |
| 402 | } |
| 403 | } |
| 404 | |
| 405 | virtual void do_run() = 0; |
| 406 | }; |