typelist

    5热度

    2回答

    我期待创建一个代表数据大小(字节,KB ...)的类型族。为此,这个想法是基于建立一个基本类型有实际尺寸: type SizeUnit = Int type B = SizeUnit type KB = SizeUnit type MB = SizeUnit type GB = SizeUnit type TB = SizeUnit ty

    2热度

    1回答

    使用GCC 4.7.3,我得到以下错误 prog.cpp: In function ‘int main()’: prog.cpp:27:63: error: ‘Erase >::Result’ has not been declared 与this code: template <typename... List> struct TypeList { enum {

    3热度

    1回答

    我有一个类似于this one的类型列表实现。如果你不知道类型列表是什么:简而言之,它的行为就像使用嵌套元组的可变参数模板。你可以阅读更多关于他们here。 我想从这个类型列表的一个子集建立一个函数指针类型。子集由一系列索引(任意大小)定义,所需操作在类型列表中查找这些索引,并使用这些类型作为参数定义函数上指针的类型。 的API看起来是这样的: #include "typelist.h" //

    3热度

    2回答

    我发现了HList/KList,它们很酷。我有一个实际的用例,其中具有保存类型信息的异构类型和可变长度容器将非常有用(有关更多信息,请参阅下面的背景)。但是,我还没有理解H/KList作为方法参数的用法,我不得不完全键入注释参数或松散类型信息。 如果完整类型当然不知道,H/KList是否可以用作参数? 如何在不丢失类型信息的情况下引用H/KList? 是否可以使用“类型列表”来指代异构的&可变长度

    0热度

    1回答

    template<typename TList/*TList - Alexandrescu's typelist*/> class TheClass { void foo_public (const TypeAt<TList, 0>& t0, const TypeAt<TList, 1>&t1) { foo_private(t0, t1) }

    3热度

    2回答

    所以我一直玩类型列表和男孩是他们有趣。我想要做的一件事就是试图实现我自己的variant课程,只是作为一个关于类型列表如何工作以及它们如何有用的教育实验。下面是我的代码目前的样子: #include <cstddef> #include <typeinfo> #ifndef VARIANT_H_ #define VARIANT_H_ struct NullType {}; temp

    0热度

    1回答

    我打算写一个简单的通用智能指针模板,它允许程序员在调用函数FUNC() (例如)之前和之后应用任意数量的包装。如果需要启动定时器,锁定,log_start,FUNC(),log_end,解锁,停止定时器 然后,我想能够写一些简单的地方,程序员提供3种类型和一个功能的模板和让编译器完成剩下的工作。 我感觉它可以在类似类型串是如何工作的结合超载运营的方式,使用可变参数模板来完成 - > 即 class

    4热度

    2回答

    我有一个简单的类型列表实现; template<typename... Ts> struct Typelist { static constexpr size_t count{sizeof...(Ts)}; }; 我想用它来做,是产生std::vector>在类型串每一种类型的std::tuple;例如: struct A {}; struct B {}; struct C

    2热度

    1回答

    我知道增强MPL列表或矢量的最大长度是半定义的,但是在大约30个元素之后,编译器恨我。一个Loki序列有多少个元素,用户可定义?

    1热度

    1回答

    我这里所描述的形式的类型串: http://www.drdobbs.com/generic-programmingtypelists-and-applica/184403813 每种类型都有一个鸭类型的功能(模板/编译时虚拟)称为get()它返回一个简单键入这样的: struct Float { float get() { return 7.0; } }; struct Int {