template <class T, class U> constexpr auto operator-(T lhs, U rhs) -> std::enable_if_t<stlab::implementation::has_enabled_bitmask<T> && stlab::implementation::is_convertible_to_underlying<U, T>::value, T> (1) template <class T> constexpr auto operator-(T a) -> std::enable_if_t<stlab::implementation::has_enabled_arithmetic<T>, T> (2) template <class T> constexpr auto operator-(T lhs, T rhs) -> std::enable_if_t<stlab::implementation::has_enabled_arithmetic<T>, T> (3) (1) template <class T, class U> constexpr auto operator-(T lhs, U rhs) -> std::enable_if_t<stlab::implementation::has_enabled_bitmask<T> && stlab::implementation::is_convertible_to_underlying<U, T>::value, T> MISSING Parameters T lhs U rhs (2) template <class T> constexpr auto operator-(T a) -> std::enable_if_t<stlab::implementation::has_enabled_arithmetic<T>, T> MISSING Parameters T a (3) template <class T> constexpr auto operator-(T lhs, T rhs) -> std::enable_if_t<stlab::implementation::has_enabled_arithmetic<T>, T> MISSING Parameters T lhs T rhs