类似于类型列表(?)的模板类

巡洋舰战争

我正在尝试实现以下目标:创建模板类,该模板类使用其模板参数创建模板类型的实例,并在例如构造函数中的某个位置使用它。考虑以下示例:

template <typename T>
class foo
{
public:
    explicit foo(const T& data) : m_data(data) {}
    T m_data;
};

template <typename T01, typename T02>
class bar
{
public:
    explicit bar(int data) : m_storage(T01(data), T02(data)) {}
    void print() { boost::fusion::for_each(m_storage, printer()); }

private:
    boost::fusion::vector<T01, T02> m_storage;
};

和用法:

bar<foo<int>, foo<int>> b(5);
    b.print();

但是,如果我想在bar课堂上灵活一点,并且我想让这些T01,T02班级的数量有所变化该怎么办?例子:

bar<foo<int>, foo<int>> b(5);
b.print();
bar<foo<int>, foo<int>>, foo<int>> c(6);
c.print();

像使用参数包一样?

EDIT001:
在最后的工作版本coliru

贾罗德42

您正在寻找可变参数模板(自C ++ 11起可用)

template <typename ... Ts>
class bar
{
public:
    explicit bar(int data) : m_storage(Ts(data)...) {}
    void print() { boost::fusion::for_each(m_storage, printer()); }

private:
    boost::fusion::vector<Ts...> m_storage;
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

std :: function类似于委托模板类

来自分类Dev

python类的行为类似于字典或列表数据

来自分类Dev

C ++(类似于python列表)

来自分类Dev

给定类型列表的C ++专用模板类

来自分类Dev

不同类型的模板类列表

来自分类Dev

F#模板引擎类似于mako?

来自分类Dev

在AngularJS中解析模板,类似于Handlebars?

来自分类Dev

Flask / SQLAlchemy错误:TypeError:不兼容的集合类型:[model]不类似于列表

来自分类Dev

“类型”的使用类似于变量(c#)

来自分类Dev

类似于存折的下拉视图类

来自分类Dev

Java。创建类似于List的新类

来自分类Dev

类似于Java Duration的类的长度?

来自分类Dev

类似于Java Delphi的类引用

来自分类Dev

列表中类似于笛卡尔积

来自分类Dev

熊猫to_dict类似于列表的输出

来自分类Dev

类似于Javascript列表的数据结构

来自分类Dev

使Thunderbird显示类似于Outlook的邮件列表?

来自分类Dev

类似于记录但创建联合类型的打字稿类型

来自分类Dev

如何设计行为类似于根类的python类

来自分类Dev

可以在类似于CSS的html文件中包含“模板”吗?

来自分类Dev

如何为模板实现类似于Orientation的属性

来自分类Dev

流星块助手,其作用类似于模板

来自分类Dev

使Kendo Grid链接模板的行为类似于命令

来自分类Dev

使Kendo Grid链接模板的行为类似于命令

来自分类Dev

使用类似于调用模板的方法添加属性以输出XML

来自分类Dev

性能受到打击吗?匿名类型的列表,以实现类似于C#中的List <int,string,...>(多种类型的多维列表)

来自分类Dev

使无序列表的行为类似于Apple网站上的列表

来自分类Dev

基于模板类型的类类型

来自分类Dev

类型类似于标准库中的空结构

Related 相关文章

热门标签

归档