我想知道C ++ 0x是否提供任何内置功能来检查可变参数模板的参数包是否包含特定类型。今天,如果您使用boost :: mpl :: vector来代替可变参数模板,可以使用boost ::: mpl :: contains完成此操作。但是,它具有严重的编译时间开销。我想,C ++ 0x对std :: is_same具有编译器级别的支持。因此,我在考虑是否也支持编译器如下所示的概括。 template <typename... Args, typename What>
struct is_present
{
enum { value = (What in Args...)? 1 : 0 };
};
我想知道C ++ 0x是否提供任何内置功能来检查可变参数模板的参数包是否包含特定类型。今天,如果...
std::common_type
是STL中唯一的可变参数模板实用程序,因此它是唯一可能封装递归的模板。