1
0
forked from Alepha/Alepha

A few more meta programming bits.

This commit is contained in:
2021-07-03 01:21:48 -04:00
parent 741c0dcdcf
commit 2bbb612df1
5 changed files with 180 additions and 0 deletions

33
Meta/is_tuple.h Normal file
View File

@ -0,0 +1,33 @@
static_assert( __cplusplus > 201700, "C++17 Required" );
#pragma once
#include <Alepha/Alepha.h>
#include <type_traits>
#include <tuple>
namespace Alepha::Hydrogen::Meta
{
inline namespace exports { inline namespace type_traits {} }
namespace detail::type_traits::is_tuple
{
inline namespace exports
{
template< typename T >
struct is_tuple : std::false_type {};
template< typename ... Args >
struct is_tuple< std::tuple< Args... > > : std::true_type {};
template< typename T >
constexpr bool is_tuple_v= is_tuple< T >::value;
}
}
namespace exports::type_traits
{
using namespace detail::type_traits::is_tuple::exports;
}
}