1#ifndef NNGN_UTILS_CONCEPTS_H
2#define NNGN_UTILS_CONCEPTS_H
16template<
typename D,
typename B>
19 std::is_base_of_v<B, D>
20 && std::is_convertible_v<const volatile D*, const volatile B*>;
22 std::derived_from<D, B>;
26template<
typename From,
typename To>
28 std::convertible_to<From, To>
29 &&
requires(From
f) { { To{
f} } -> std::same_as<To>; };
As std::convertible_to, but excluding implicit conversions.
Definition: concepts.h:27
Definition: concepts.h:17
Definition: concepts.h:14
Definition: concepts.h:11