【问题标题】:How many elements can a Loki sequence have?Loki 序列可以有多少个元素?
【发布时间】:2013-01-22 08:18:33
【问题描述】:

我知道 boost MPL 列表或向量的最大长度是半可定义的,但是在大约 30 个元素之后,编译器讨厌我。 Loki 序列可以有多少个元素,用户可以定义吗?

【问题讨论】:

  • AFAIR 它由 20 个左右组成,可能是 25 个。Alaxandrescou 已经展示了如何扩展它的方法。
  • 您可以升级您的编译器以使用可变参数模板吗?它会减轻你的大部分痛苦。
  • @MatthieuM。可悲的是,这是否使 boost::mpl::list 能够处理更大的列表? (比如 100) 不久前我遇到了一个问题,因为 mpl::list 大小限制,很多类型都需要成为我无法使用 boost::variant 的变体的一部分。如果我升级编译器时它可以工作,我会很酷。

标签: c++ boost-mpl loki typelist


【解决方案1】:

implementation 显示了 18 个隐藏的模板参数,所以这应该是上限

     template
     <
         typename T1  = NullType, typename T2  = NullType, typename T3  = NullType,
         typename T4  = NullType, typename T5  = NullType, typename T6  = NullType,
         typename T7  = NullType, typename T8  = NullType, typename T9  = NullType,
         typename T10 = NullType, typename T11 = NullType, typename T12 = NullType,
         typename T13 = NullType, typename T14 = NullType, typename T15 = NullType,
         typename T16 = NullType, typename T17 = NullType, typename T18 = NullType
     > 
     struct MakeTypelist { /* stuff */ };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多