1 #ifndef SILICIUM_THEN_HPP
2 #define SILICIUM_THEN_HPP
26 return detail::default_construct<T>(std::is_same<T, void>());
31 template <
class Error>
39 template <
class First,
class ...Tail>
42 auto error = std::forward<First>(
first)();
47 return (*
this)(std::forward<Tail>(tail)...);
58 template <
class First,
class ...Tail>
61 std::forward<First>(
first)();
62 return (*
this)(std::forward<Tail>(tail)...);
67 template <
class First,
class ...Sequence>
68 auto then(First &&first, Sequence &&...actions)
69 -> decltype(std::forward<First>(first)())
71 typedef decltype(std::forward<First>(first)()) result_type;
auto then(First &&first, Sequence &&...actions) -> decltype(std::forward< First >(first)())
Definition: then.hpp:68
Definition: variant.hpp:176
Definition: absolute_path.hpp:19
void operator()() const
Definition: then.hpp:54
Error operator()(First &&first, Tail &&...tail) const
Definition: then.hpp:40
Error operator()() const
Definition: then.hpp:34
T default_construct()
Definition: then.hpp:24
void operator()(First &&first, Tail &&...tail) const
Definition: then.hpp:59
void default_construct(std::true_type)
Definition: then.hpp:12