问题标签 [template-templates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
251 浏览

c++ - 模板模板参数的参数会导致阴影吗?

这是合法的 C++ 吗?

Clang(3.7.1)拒绝它,抱怨第二个T阴影第一个T。GCC 似乎并不关心它,我认为这是合理的。我认为只有参数数量在模板模板参数中很重要。

0 投票
1 回答
136 浏览

c++ - 引用模板中的模板化函数

我希望能够命名模板中的模板化函数。

由于可以使用“模板模板”语法命名模板类,并且可以使用“函数指针”语法命名函数,我想知道是否有语法(或建议)来命名模板中的函数没有指定模板。

对于任何对此功能感兴趣的人来说,一种可能的解决方法是首先将函数 D 包装在一个带有名为(例如)“方法”的调用方法的结构中,将该结构作为“模板模板”参数传递给 E,然后调用“方法”在 E.

我不喜欢这种方法的原因是它需要一个包装结构,用于可能以这种方式使用的每个可变参数函数。

0 投票
4 回答
1533 浏览

c++ - 如何将`std::array`用于`template`形式的模板参数类`?

请考虑以下tree课程

这是没有明确定义的。std::array<T, N>不是 的合适模板参数Tuple。我认为 的意图static_tree很明确。我们可以做类似的事情

helper没有课程还有其他选择吗?

0 投票
3 回答
109 浏览

c++ - 也接受模板的模板参数(嵌套模板)

我试图避免代码重复,对于以下事情:

我有几种不同的地图类型,它们具有不同的type1type2参数。在某些时候,我想静态检查什么是类型type1,但type2我不知道如何编译这个东西。我已经尝试了对该模板声明的几种变体,但它们似乎都不起作用。这甚至可能吗?

干杯,

0 投票
1 回答
693 浏览

c++ - 在可变参数模板模板参数中使用默认模板参数

我发现下面的最小示例适用于 gcc 和 clang 甚至 Visual Studio,但它不能使用 icc 编译。我正在尝试确定这是否是有效的 C++,但我无法找到标准的相关部分来回答我的问题,因为这是几个不同的概念相结合。

使用 icc (16.0.3),编译会出现以下错误:

这是有效的 C++ 吗?

对我来说似乎应该是,因为C它的第二个模板参数有一个默认值,这意味着F<D>withF = C应该是一个有效的结构。

0 投票
3 回答
1898 浏览

c++ - specialization of variadic templates with class templates

Here's an issue I ran across while playing with variadic templates. I have some code that uses specialization to count "interesting" types in a parameter pack like so:

This code works fine, but I run into problems if I want to use the same approach to count class templates:

The above code fails to compile, error is "expected a type, got 'vector'" on the line beginning with "struct count". I'm also unable to something simpler, all class templates accepting a single argument:

This code also fails to compile, complaining of "expected a type, got '_First'" once again on the line beginning with "struct count". Is someone familiar with a way to accomplish this goal using this approach (i.e. some modification that I can make to one or both of the specializations that will get them to compile and perform the desired calculation at compile time)?

EDIT: I want the parameter pack for vector to be unbound, similar to the following code for a simple container wrapper with variadic template-template parameters that also specializes on std::vector:

EDIT Seems like the final answer is that what I want to do can't be accomplished, but I have found a way to reframe the problem so that I cans solve it. Many thanks to those who helped.

0 投票
2 回答
764 浏览

c++ - 不指定内部类型的模板模板参数

我想知道是否有可能拥有具有以下行为的代码:

也就是说,我希望用户能够指定容器而不指定它所操作的类型。

例如,可能定义的一些(元)代码(不适用于上述代码)func如下:

0 投票
3 回答
1295 浏览

c++ - 具有通用向量和对类型的对向量,模板的模板

我想将一对向量传递给一个函数。实际的向量实现以及对的类型应该是模板参数。

我想到了这样的事情:

前 3 个是其他模板参数。最后一个模板参数应该允许传递一个vector(stdstxxl:vector) std::pairwithuint32_tuint64_t作为pair.firstand的类型pair.second

0 投票
1 回答
297 浏览

c++ - 在类成员函数中将模板类作为模板模板参数传递

我有一个项目需要同时使用 GCC-4.4.7 和 GCC-4.9.0 进行编译。

我们正在使用将模板类作为模板模板参数传递给另一个类的代码。虽然代码在 GCC-4.9.0 上编译良好,但在 GCC-4.4.7 上编译失败。

这是错误的再现:

编译时:

如何纠正错误并正确使其与 GCC-4.4.7 一起编译?

注意:仅限 C++98 标准,代码非常旧。

0 投票
2 回答
1832 浏览

c++ - 可变参数 可变参数模板 模板参数

有没有一种简单的方法来获得可变参数模板模板参数。例如考虑以下函数签名

如果我们想通过两个Packs 我们现在必须做一个重载

现在,如果我们想传递Pack具有不同可变参数的可变数量的对象,例如Args0...,Args1...,Args2....

所以我在想是否有一种实用的方法来做一些事情(以下肯定是一个草图表示)。