forked from Alepha/Alepha
Modernize a bit with some requires statements.
This commit is contained in:
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user