2013-01-22 48 views
2

我知道增強MPL列表或矢量的最大長度是半定義的,但是在大約30個元素之後,編譯器恨我。一個Loki序列有多少個元素,用戶可定義?Loki序列有多少個元素?

+0

AFAIR它是由多達20個左右,可以是25 Alaxandrescou已經示出的方式如何擴展此。 –

+0

你可以升級你的編譯器來使用variadic模板嗎?它會減輕你的大部分困擾。 –

+0

@MatthieuM。還不可悲,這是否使得boost :: mpl :: list能夠處理更大的列表? (如100)我有一個問題,後面有很多類型需要所有的變體的一部分,我不能使用boost :: variant,因爲mpl :: list size約束。如果它在我升級我的編譯器時起作用,我會很酷。 – odinthenerd

回答

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 */ };