- Setup EGL context for Wayland. Test window now opens as black rectangle.
This commit is contained in:
@@ -133,6 +133,13 @@ namespace fennec::detail
|
||||
|
||||
template<typename T>
|
||||
auto _is_mappable(...) -> false_type;
|
||||
|
||||
|
||||
template<typename B> auto _ptr_conv(const volatile B*) -> true_type;
|
||||
template<typename> auto _ptr_conv(const volatile void*) -> false_type;
|
||||
|
||||
template<typename B, typename D> auto _is_base_of(int) -> decltype(detail::_ptr_conv<B>(static_cast<D*>(nullptr)));
|
||||
template<typename, typename> auto _is_base_of(...) -> false_type;
|
||||
}
|
||||
|
||||
#endif // FENNEC_LANG_DETAIL_TYPE_TRAITS_H
|
||||
|
||||
@@ -790,6 +790,25 @@ template<typename T> struct is_same<T, T> : true_type {};
|
||||
/// \tparam T1 second type to check
|
||||
template<typename T0, typename T1> constexpr bool_t is_same_v = is_same<T0, T1> {};
|
||||
|
||||
|
||||
// fennec::is_base_of =====================================================================================================
|
||||
|
||||
///
|
||||
/// \brief Check if `Derived` has a base type of `Base`
|
||||
///
|
||||
/// \details Checks if `Base` is a base type of `Derived` and stores it in `is_base_of::value`
|
||||
/// \tparam Base base type to check
|
||||
/// \tparam Derived derived type to check
|
||||
template<typename Base, typename Derived> struct is_base_of : bool_constant<
|
||||
is_class_v<Base> and is_class_v<Derived> and decltype(detail::_is_base_of<Base, Derived>(0))::value
|
||||
> {};
|
||||
|
||||
///
|
||||
/// \brief Shorthand for ```is_base_of<T0, T1>::value```
|
||||
/// \tparam Base base type to check
|
||||
/// \tparam Derived derived type to check
|
||||
template<typename Base, typename Derived> constexpr bool_t is_base_of_v = is_base_of<Base, Derived> {};
|
||||
|
||||
// fennec::is_complete ==============================================================================================
|
||||
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user