variadic-templates

    7热度

    3回答

    我是正确的阅读,从min和max(和minmax为此事)有新initializer_list变种的标准,但没有可变参数模板变种? 因此,这是确定: int a = min({ 1,2,a,b,5 }); 但这不是: int b = min(1,2,a,b,5); // err! 我想,很多人会想到的是可变参数模板可以很容易地实现这一点,因此他们可能会失望。 我会说使用V.T.为min和ma

    5热度

    3回答

    目前,我试图让一些代码对不同类型做出不同的反应。这不是确切的代码,但它可以传递信息。 template<class A, class B> struct alpha { enum { value = 0 }; }; template<class T, class... Args> struct alpha<std::tuple<Args...>, T> { enum

    9热度

    1回答

    我现在有一个可变参数函数,它接受的任意类型(杜)的参数的任意数,但是,我想限制仅是POD的类型的人,也同样尺寸或更小而不是虚空*。 的void *的检查很简单,我只是做了这一点: static_assert(sizeof...(Args) <= sizeof(PVOID), "Size of types must be <= memsize."); 但是我不能工作,如何做的std :: is_

    2热度

    1回答

    我试图编写一个函数,它可以将函数映射到多个迭代器上。它会像 template <class Fun> fun_over_variadic_args(Fun fun) { } template <class Fun, class First, class Rest...> fun_over_variadic_args(Fun fun, First& first, Rest&... rest)

    14热度

    2回答

    我要寻找类似的东西: template< typename T> void func(T t) { } template< typename... Parms> void anyFunc(Parms... p) { func<Parms>(p)... ; //error func(p)... ; //error } 如果参数组扩展另一个函数内部完成调用它

    11热度

    3回答

    我有一个可变参数模板函数,它调用自己来确定列表中最大的数字(由模板化参数构成)。我试图做一个专门的参数包是空的,所以我只能返回列表前面的数字,但我不知道该怎么做。我只是熟悉可变参数模板和模板专业化,但是这是我到目前为止有: #include <string> #include <iostream> using namespace std; template <int N, int...

    4热度

    1回答

    根据模板参数的数量,是否可以使用可变数量的参数构造函数调用(函数模板内部)?例如: void f(int i) {} void f(int i1, int i2){} void f(int i1, int i2, int i3){} ... template<typename... T> void caller() { f(/* sizeof...(T) number of

    4热度

    1回答

    我想写一个通用代码来比较使用其target()模板方法的std :: functions。这里是我的非通用示例代码: #include <cstdio> #include <functional> static void bar() {} static void baz() {} bool cmp(std::function<void()> f1, std::function<void

    2热度

    1回答

    请原谅对C++类型演绎的无知,但我希望能够在参数包的定义中携带,以便稍后我可以测试内部类型。这可能吗?例如: template <typename... Args> struct Entity { struct Inner { typedef Args... entity_args_t; }; struct SomeOtherInner {

    4热度

    3回答

    我试图实现zip函数。 zip的参数各为wrapped<Ti>,其中Ti因参数而异。 zip取这些wrapped<Ti>s并产生wrapped<tuple<T1&,T2&,...TN&>>,或换句话说是对其参数的引用的包装tuple。参考文献应该保留const-ness。 这是我在zip首次尝试用一个参数,它不一般的工作: #include <utility> #include <tuple>