Remove the is_result trait

This commit is contained in:
Denis Blank 2018-11-25 20:00:41 +01:00
parent cd367b3d43
commit 41da6ba293

View File

@ -181,28 +181,19 @@ private:
detail::container::flat_variant<surrogate_t, exception_t> variant_; detail::container::flat_variant<surrogate_t, exception_t> variant_;
}; };
template <typename T>
struct is_result : std::false_type {};
template <typename... T>
struct is_result<result<T...>> : std::true_type {};
template <>
struct is_result<empty_result> : std::true_type {};
template <>
struct is_result<exceptional_result> : std::true_type {};
template <typename... T> template <typename... T>
auto make_result(T&&... values) { auto make_result(T&&... values) {
return result<detail::traits::unrefcv_t<T>...>(std::forward<T>(values)...); return result<detail::traits::unrefcv_t<T>...>(std::forward<T>(values)...);
} }
// NOLINTNEXTLINE(performance-unnecessary-value-param) // NOLINTNEXTLINE(performance-unnecessary-value-param)
inline auto make_exceptional_result(exception_t exception) { inline exceptional_result make_exceptional_result(exception_t exception) {
// NOLINTNEXTLINE(hicpp-move-const-arg, performance-move-const-arg) // NOLINTNEXTLINE(hicpp-move-const-arg, performance-move-const-arg)
return exceptional_result(std::move(exception)); return exceptional_result{std::move(exception)};
} }
inline auto make_empty_result() { inline empty_result make_empty_result() {
return empty_result{}; return {};
} }
} // namespace cti } // namespace cti