variadic-templates

    2热度

    3回答

    我想检查类型T是否也是参数包Ts的一部分。在C++ 14中有这样做的solutions,但是如果这可以在C++ 17中简化,我就会游荡。如果在Ts中找不到T,则应停止编译器(static_assertion应该失败)。 template<typename... Ts> class A { template<typename T> void action() { /

    2热度

    1回答

    我正在研究可变参数模板,我想知道如果我可以做这样的事情:我会调用任意数量的函数(任意返回类型)与任意数量和类型的参数只需一个电话。我能够使用的代码是这样的: call(f1,f2,f3, 2.2,3); call(f4,f5, 2.2, "Hello", 'a'); 如果函数传递可以接受传递的参数。 我写了一个固定数目的要传递给函数的参数兼容版本: template<typename T,

    0热度

    1回答

    我很长时间在使用此可变参数模板。任何人都可以帮助我吗?我想建立一个能够调用cmath函数并通过向量传递其所有参数的执行程序。请考虑下面的代码: bool execute(const std::string &functionName, const std::vector<double> ¶ms) { if (functionName == "cos") return execu

    3热度

    2回答

    我有一个相当于std::integer_sequence(我们还没有使用C++ 14)。我也有两个助手类,删除或添加一个前导号码。 // Sequence type template <typename Type, Type ... Values> struct Sequence { using

    2热度

    1回答

    使用C++ 14,我试图扩展this实现以支持ObserverCallback方法,该方法将在外部调用。 MyClass容器使用元组向量,其类型由可变参数模板指定。访问矢量然后可以使用访问< T>()完成。 我需要的是实现一个观察者,它应该向矢量添加元素。因为元素的类型可以是任何类型的元组,我已经模板一样好: template <typename ...T> class Wrapper{ pu

    3热度

    2回答

    这里是我的代码: #include <iostream> #include <variant> #include <vector> class A { public: virtual void Foo() = 0; }; class B : public A { public: void Foo() override { std::cout <<

    2热度

    1回答

    在下面的C++ 14代码中,我想使用可变参数模板创建一个PossibleTypes容器。接下来,我想用先前指定类型的成员元组创建另一个容器。 这样做会怎么样?我想让Foo包含一个元组< int,double>,就像主题的模板化类型一样。 非常感谢提前。 #include <iostream> #include <tuple> #include <type_traits> template

    0热度

    1回答

    我试图从传递给它的类构造函数的参数类型中推导出一个成员变量的类型。该类的构造函数(PublishSubscribe类)接收两个参数,每个参数表示可变类型(一个用于发送的可变参数包,一个用于接收)。 我试图获取工作的代码如下: #include <tuple> template <typename... Types> struct TopicTypes {}; TopicTypes<int

    2热度

    1回答

    为了传输数据,我将int和float值加载到缓冲区。 一些例子: void send_cmd_1(int y, int z, int a, int b) { int buf[5]; buf[0] = 1; // command #1 buf[1] = y; // parameters for command #1 buf[2] = z; buf[

    4热度

    3回答

    有没有办法检查两个可变参数包的连接是否与第三个可变参数包相同。 template<typename... Args> struct ClassOne { } template<typename... Args> struct ClassTwo { } template<typename... Args> struct ClassThree { } template<t