如何确定类型是否来自模板类?特别是,我需要确定模板参数是否std::basic_ostream具有基类.通常std::is_base_of是工作的工具.但是,std::is_base_of仅适用于完整类型而非类模板.
我正在寻找这样的东西.
template< typename T >
bool is_based_in_basic_ostream( T&& t )
{
if( std::is_base_of< std::basic_ostream< /*anything*/>, T >::value )
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我敢肯定这可以做到我想不出怎么做.