variadic-templates

    1热度

    1回答

    我的问题可能与this one有关,但我认为我没有“部分专用的非类型参数表达式”,或者不理解关系。 下面的代码产生具有MSVC14编译器(CPP11)一个内部错误: template<typename T, T... Elmts> struct NonTyped { }; template<typename T> struct is_NonTyped_of_type {

    1热度

    1回答

    说我有一组模板template<int N> A{}和template<int N> B{}等与模板C,D ....他们都有一个静态成员函数init()。 我想写一个元函数生成A<0>,B<1>,C<2>等等。让我们命名这个可变元函数SeqInst。而且这个元功能还有一个静态成员函数init(),后者又调用所有的A<0>::init(),B<1>::init()等。 我试着写SeqInst为var

    9热度

    2回答

    我需要构建n个类型的元组。这n个类型是n个其他类型的值类型。考虑这个片断: #include <boost/hana.hpp> namespace hana = boost::hana; template<class... Types> class CartesianProduct { public: CartesianProduct(Types... args) : se

    2热度

    3回答

    下面是两个大部分相同的模板PgmArray和PgmArrayF。第一个适用于左值参考模板参数,第二个适用于整型参数。我喜欢将这两个合并为一个: #include <stdint.h> #include <type_traits> #include <array> #include <iostream> template<typename T, const T&... Ts> struc

    0热度

    2回答

    template <typename T, template <typename T, typename... Targs> class C> void print_(const C<T,Targs>& arg, std::stringstream& ss) { std::for_each(arg.begin(), arg.end(), [&ss](const T& var) { s

    1热度

    1回答

    给出一个简单的variadoc模板 template<typename... T> class A {}; 以及两个或多个概念C1和C2像 template<typename T> concept bool C1() { ... }; 如何申请的C1和C2连词在A参数包的所有元素上,如: template<typename... T> requires C1<T>... || C2<

    1热度

    1回答

    我搜索了很多,可以找到许多类似的问题,但他们都没有解决这个特定的问题AFAIK。 我想通过类型(而不是索引)来替换元组中的类型。我试过这样的: template <class Tuple, class ToRemove, class ToReplace> struct ReplaceType { using type = Tuple; }; template <class ToR

    0热度

    3回答

    我想用一个函数传递参数给不同的类,所以我用类模板专业化和可变参数函数模板,波纹管是代码: #include <iostream> using namespace std; template <typename T0, typename T1> class Package { T0 Data0; T1 Data1; public: Package(T0 da

    0热度

    2回答

    我想在C++ 11中使用vadiadic模板来定义一个IntList类,但是我在语法上遇到困难,我不知道如何初始化班级领域。 我的最新版本如下: template <int...> struct IntList; template<> struct IntList<>{ constexpr static bool empty = true; constexpr stat

    2热度

    2回答

    基地问题 基础问题我试图解决推断“自动”是这样的: 我有一个模板参数包ArgTypes,我需要做一个元组每个类型都包装在std :: optional中。例如:make_optional_tuple<int, double, std::string>应该返回一个元组元组的元组元组,其元素元组的初始值为std::nullopt。 我的工作至今 我使用附带GCC 7.1 g++。我一直在与C++类型系