нарушение SOLID - если оно какой-то вид варианта - зачем там void? А если оно делает еще-что то, кроме хранения состояния, то лучше это вынести в отдельный класс.
это скорее std::future похоже чем вариант
optional<void> - вполне разумный случай для шаблонного кода, просто почему-то никто не считает void юнит-типом
Я делаю тип, как в расте Result<T, E>. Чтобы для Result<void, E> работало только для бросания ошибки. Пример в годболе накидал для начала обсуждения
А... Монада Either... Понял, правда, пока так сразу не могу сообразить как сделать..
монада either только не монада
Обсуждают сегодня