1
0
forked from Alepha/Alepha

Modernize a bit with some requires statements.

This commit is contained in:
2024-03-21 15:36:54 -04:00
parent 1e3b3707e2
commit 892a557ce7

View File

@ -64,11 +64,17 @@ namespace Alepha::Hydrogen::Reflection ::detail:: tagged_ctor_arg_m
template< typename Forbidden > template< typename Forbidden >
struct argument struct argument
{ {
template< typename T, typename= std::enable_if_t< not std::is_same_v< T, Forbidden > > > template< typename T >
requires( not Concepts::SameAs< T, Forbidden > )
constexpr operator T (); constexpr operator T ();
}; };
template< typename T, typename ... Args, typename= std::enable_if_t< std::is_constructible_v< T, Args... > > > template< typename T, typename ... Args >
requires( Concepts::ConstructibleFrom< T, Args... > )
constexpr void construct( const std::tuple< Args... > & );
template< typename T, typename ... Args >
requires( Concepts::ConstructibleFrom< T, Args... > )
constexpr void construct( std::tuple< Args... > && ); constexpr void construct( std::tuple< Args... > && );
template template