VIPRA Documentation
Loading...
Searching...
No Matches
result_or_void.hpp
1#pragma once
2
3#include <tuple>
4
5namespace VIPRA {
10struct VOID {
11 template <typename... arg_ts>
12 inline void operator()(arg_ts... /*unused*/) const noexcept
13 {
14 }
15};
16} // namespace VIPRA
17
18namespace VIPRA::Util {
19
20template <typename>
21struct result_or_VOID;
22
23template <typename type_t>
25 using type = std::conditional_t<std::is_void_v<type_t>, VOID, type_t>;
26};
27
28template <typename data_t>
29using result_or_VOID_t = typename result_or_VOID<data_t>::type;
30} // namespace VIPRA::Util
Definition result_or_void.hpp:24
Placeholder Type for void.
Definition result_or_void.hpp:10