1
0
forked from Alepha/Alepha

The has_tagged_ctor header should have been properly named.

This commit is contained in:
2024-03-18 16:13:51 -04:00
parent 696e1b56f6
commit d0fc98de71
4 changed files with 7 additions and 7 deletions

View File

@ -1,2 +1,2 @@
add_subdirectory( tuplizeAggregate.test ) add_subdirectory( tuplizeAggregate.test )
add_subdirectory( tagged_ctor_size.test ) add_subdirectory( has_tagged_ctor.test )

View File

@ -12,7 +12,7 @@ static_assert( __cplusplus > 2020'99 );
#include <Alepha/Reflection/detail/config.h> #include <Alepha/Reflection/detail/config.h>
namespace Alepha::Hydrogen::Reflection ::detail:: tagged_ctor_size_m namespace Alepha::Hydrogen::Reflection ::detail:: has_tagged_ctor_m
{ {
inline namespace exports {} inline namespace exports {}
@ -82,14 +82,14 @@ namespace Alepha::Hydrogen::Reflection ::detail:: tagged_ctor_size_m
namespace exports namespace exports
{ {
template< typename T, typename tag > template< typename T, typename tag >
constexpr std::size_t has_tagged_ctor_v= has_tagged_ctor< T, tag >::value; constexpr bool has_tagged_ctor_v= has_tagged_ctor< T, tag >::value;
template< typename T, typename tag > template< typename T, typename tag >
struct has_tagged_ctor : std::bool_constant< has_tagged_ctor_v< T, tag > > {}; struct has_tagged_ctor : std::bool_constant< has_tagged_ctor_v< T, tag > > {};
} }
} }
namespace Alepha::Hydrogen::Reflection::inline exports::inline tagged_ctor_size_m namespace Alepha::Hydrogen::Reflection::inline exports::inline has_tagged_ctor_m
{ {
using namespace detail::tagged_ctor_size_m::exports; using namespace detail::has_tagged_ctor_m::exports;
} }

View File

@ -1,6 +1,6 @@
static_assert( __cplusplus > 2020'99 ); static_assert( __cplusplus > 2020'99 );
#include <Alepha/Reflection/tagged_ctor_size.h> #include <Alepha/Reflection/has_tagged_ctor.h>
#include <Alepha/Testing/test.h> #include <Alepha/Testing/test.h>
#include <Alepha/types.h> #include <Alepha/types.h>
@ -17,7 +17,7 @@ namespace
explicit instance( int a, float b, char c, double d, tag t ); explicit instance( int a, float b, char c, double d, tag t );
}; };
using namespace Alepha::Reflection::exports::tagged_ctor_size_m; using namespace Alepha::Reflection::exports::has_tagged_ctor_m;
static_assert( has_tagged_ctor_v< instance, tag > ); static_assert( has_tagged_ctor_v< instance, tag > );
static_assert( not has_tagged_ctor_v< instance, tag2 > ); static_assert( not has_tagged_ctor_v< instance, tag2 > );
} }