diff --git a/source/mijin/util/traits.hpp b/source/mijin/util/traits.hpp index cb550f0..1699fbb 100644 --- a/source/mijin/util/traits.hpp +++ b/source/mijin/util/traits.hpp @@ -165,6 +165,23 @@ struct detect_or template typename TOper, typename... TArgs> using detect_or_t = detect_or::type; +struct empty_type {}; + +template +struct optional_base +{ + using type = T; +}; + +template +struct optional_base +{ + using type = empty_type; +}; + +template +using optional_base_t = optional_base::type; + // // public functions //