static_assert( __cplusplus > 2020'99 ); #pragma once #include #include #include namespace Alepha::Hydrogen::Meta { inline namespace exports { inline namespace type_traits {} } namespace detail::type_traits::is_list { inline namespace exports { template< typename T > struct is_list : std::false_type {}; template< typename T, typename ... Args > struct is_list< std::list< T, Args... > > : std::true_type {}; template< typename T > constexpr bool is_list_v= is_list< T >::value; } } namespace exports::type_traits { using namespace detail::type_traits::is_list::exports; } }