template-meta-programming 相关问题

模板元编程是一种元编程技术,其中编译器使用模板生成临时源代码,该代码由编译器与其余源代码合并然后编译。

变量模板的模板专用化和类型推导化

模板 C fnc(); 模板<> int fnc(){return 0;}模板。 C var; template <> int var = 0; /编译错误 int main() { }有一个特殊化的...

回答 1 投票 0

懒惰地评估(短路)模板条件类型的通用方法。

在玩编译时字符串(char的变量列表)操作时,我需要实现一种方法来检查一个编译时字符串是否包含另一个(较小的)编译时字符串。...

回答 3 投票 15

递归地将std::元组转换为std::variant。

需要一个想法,用什么技术来声明std::variant类型,包含所有类型包含到一个给定的std::元组和它的子元组(如果一个元素也是一个元组)递归。对于...

回答 1 投票 0

具有部分固定类型的递归数据类型。

我有以下代码 #include #include 命名空间 std {模板 pair(T1 t1, T2 t2) -> pair ; }模板&...

回答 1 投票 3

从模板参数包中实例化的访问类实现。

我想把MachineT中的所有状态实例化为一个shared_ptr。 然后通过类型名来访问它们。在下面的代码中,它指的是实例化(MachineT构造函数)和一种方式来 ...

回答 1 投票 0

enable_if如何帮助选择类模板的特殊化?

我对 SFINAE 有基本的了解,而且我认为我理解许多关于 std::enable_if 如何利用它来选择函数模板特殊化的例子,但我很难理解......

回答 1 投票 0

编译器是否被迫根据模板参数来评估if表达式?

考虑这个代码片段。#include 结构A { void f() { std::cout << "f"; } void g() { std::cout << "g"; }模板 void call() { (b ?) ?

回答 1 投票 1

MSVC无法编译SFINAE检查

我应该注意一些编译器标志吗?下面的代码可以正常工作,并且可以按照GCC和Clang的要求运行,但不适用于MSVC。是什么使std :: allocator的分配在这里如此不同? #...

回答 1 投票 0

检查类是否有可能重载的函数调用运算符

我想知道是否有可能在C ++ 20中实现一个特征来检查类型T是否具有可能重载/可能是模板化的函数调用operator:operator()。 // ...

回答 1 投票 0

接受两个列表结构的元函数

我已经开始使用c ++模板,并且我认为已经设法理解并制作了以下模板结构Nil {枚举{head = ERROR}; typedef Nil接下来; };模板

回答 1 投票 0

枚举类的编译时间索引器

您将如何创建一种编译时索引器,使给定的一组枚举类能够正确创建唯一标识符。模板 结构索引器{模板

回答 1 投票 0

将`template zero()`扩展/专业化为可调用的T'

我正在尝试定义函数模板 zero()并将其专门用于各种情况。 zero ()应该返回静态T :: zero()(如果存在)。否则static_cast (如果...

回答 1 投票 3

调试模板中的问题。编译失败专门针对Linux GCC 7,GCC 6,GCC 5,GCC 4.9错误:模板参数1无效

[我的Travis仅针对Linux GCC 7,GCC 6,GCC 5,GCC 4.9失败,错误为libs / astronomy / test / coordinate / equatorial_coord.cpp:22:57:错误:模板参数1无效RightAscension ]

回答 1 投票 0

迭代模板类型列表时无法停止递归

所以我有一个这样的模板类型列表:template struct type_list {};我已经做了这样的访问器函数:template ... ...>

回答 1 投票 0

如果没有模板,在C ++中可以进行多少元编程?

根据关于Stackoverflow的另一个问题,元编程是指程序了解自身或可以操纵自身的方式。而且我们知道C ++使用模板(TMP,...

回答 1 投票 0

是否有任何等效于虚拟模板功能的模式?

我正在使用监视工具,并且我专注于降低运行时开销和使用简单的API。为了快速切换,我选择使用状态模式,并且为了简化用法,我打算使用...

回答 1 投票 0

C ++用于检查容器类和隐式推导规则中是否存在函数的概念

我试图弄清楚如何做一些关于概念和模板类型(如std :: vector)对我来说很棘手的事情。我正在尝试应用类似于...

回答 1 投票 0

类似元组的类模板的反向内存布局

我正在使用模板元编程来创建类似元组的类模板。与std :: tuple不同,我的元组中的所有值都是同一类型,并且值的数量等于“ ...

回答 1 投票 0

将元组和整数实例合并为引用的元组

当尝试从元组和整数值的组合构造引用元组时,我遇到了奇怪的行为。给定以下内容:struct A {int v = 1; };结构B {int v = 2; }; ...

回答 2 投票 1

如何将boost :: hana :: tuple转换为std :: variant

我有以下代码,我想将boost :: hana :: tuple转换为std :: variant命名空间hana = boost :: hana;模板 struct to_variant;模板

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.