25#include "vari/bits/typelist.h"
30template <
typename FromTL,
typename ToTL >
31concept vconvertible_to = is_subset_v< FromTL, ToTL > || is_subset_v< FromTL const, ToTL >;
33template <
typename U,
typename TL >
34concept vconvertible_type = contains_type_v< U, TL > || contains_type_v< U const, TL >;
36template <
typename Deleter >
37concept copy_constructible_deleter =
38 std::is_lvalue_reference_v< Deleter > ||
39 ( !std::is_reference_v< Deleter > && std::is_nothrow_copy_constructible_v< Deleter > );
41template <
typename Deleter >
42concept move_constructible_deleter =
43 !std::is_lvalue_reference_v< Deleter > && std::is_nothrow_move_constructible_v< Deleter >;
45template <
typename FromDeleter,
typename ToDeleter >
46concept convertible_deleter = std::is_nothrow_constructible_v< ToDeleter, FromDeleter >;
48template <
typename V,
typename TL >
49concept variadic_with = is_subset_v< TL, typename V::types >;
51template <
typename V,
typename T >
52concept variadic_with_type = contains_type_v< T, typename V::types >;
MIT License.
Definition: dispatch.h:32