Fixed a bug that prevented set iterators from working at all, which

was breaking just about every algorithm when used on sets.


[SVN r29681]
This commit is contained in:
Dave Abrahams
2005-06-18 22:03:09 +00:00
parent eb00ae5d72
commit 04278cf84b
9 changed files with 133 additions and 56 deletions

View File

@@ -29,6 +29,7 @@ template< typename T, typename Base >
struct s_item struct s_item
: Base : Base
{ {
typedef s_item<T,Base> item_;
typedef void_ last_masked_; typedef void_ last_masked_;
typedef Base next_; typedef Base next_;
typedef T item_type_; typedef T item_type_;
@@ -53,6 +54,7 @@ template< typename T, typename Base >
struct s_mask struct s_mask
: Base : Base
{ {
typedef s_mask<T,Base> item_;
typedef T last_masked_; typedef T last_masked_;
typedef void_ item_type_; typedef void_ item_type_;
typedef Base base; typedef Base base;
@@ -66,6 +68,7 @@ template< typename T, typename Base >
struct s_unmask struct s_unmask
: Base : Base
{ {
typedef s_unmask<T,Base> item_;
typedef void_ last_masked_; typedef void_ last_masked_;
typedef T item_type_; typedef T item_type_;
typedef Base base; typedef Base base;

View File

@@ -33,7 +33,7 @@ template< typename Set, typename Tail > struct s_iter_impl
{ {
typedef Tail tail_; typedef Tail tail_;
typedef forward_iterator_tag category; typedef forward_iterator_tag category;
typedef typename Tail::type type; typedef typename Tail::item_::type type;
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
typedef typename eval_if< typedef typename eval_if<

View File

@@ -22,9 +22,9 @@
#define i_ BOOST_PP_FRAME_ITERATION(1) #define i_ BOOST_PP_FRAME_ITERATION(1)
# define AUX778076_SET_TAIL(set, i_, T) \ # define AUX778076_SET_TAIL(set, i_, T) \
BOOST_PP_CAT(set,i_)< \ typename BOOST_PP_CAT(set,i_)< \
BOOST_PP_ENUM_PARAMS(i_, T) \ BOOST_PP_ENUM_PARAMS(i_, T) \
> \ >::item_ \
/**/ /**/
#if i_ > 0 #if i_ > 0

View File

@@ -18,7 +18,7 @@ template<
struct set1 struct set1
: s_item< : s_item<
T0 T0
, set0< > , typename set0< >::item_
> >
{ {
typedef set1 type; typedef set1 type;
@@ -30,7 +30,7 @@ template<
struct set2 struct set2
: s_item< : s_item<
T1 T1
, set1<T0> , typename set1<T0>::item_
> >
{ {
typedef set2 type; typedef set2 type;
@@ -42,7 +42,7 @@ template<
struct set3 struct set3
: s_item< : s_item<
T2 T2
, set2< T0,T1 > , typename set2< T0,T1 >::item_
> >
{ {
typedef set3 type; typedef set3 type;
@@ -54,7 +54,7 @@ template<
struct set4 struct set4
: s_item< : s_item<
T3 T3
, set3< T0,T1,T2 > , typename set3< T0,T1,T2 >::item_
> >
{ {
typedef set4 type; typedef set4 type;
@@ -66,7 +66,7 @@ template<
struct set5 struct set5
: s_item< : s_item<
T4 T4
, set4< T0,T1,T2,T3 > , typename set4< T0,T1,T2,T3 >::item_
> >
{ {
typedef set5 type; typedef set5 type;
@@ -79,7 +79,7 @@ template<
struct set6 struct set6
: s_item< : s_item<
T5 T5
, set5< T0,T1,T2,T3,T4 > , typename set5< T0,T1,T2,T3,T4 >::item_
> >
{ {
typedef set6 type; typedef set6 type;
@@ -92,7 +92,7 @@ template<
struct set7 struct set7
: s_item< : s_item<
T6 T6
, set6< T0,T1,T2,T3,T4,T5 > , typename set6< T0,T1,T2,T3,T4,T5 >::item_
> >
{ {
typedef set7 type; typedef set7 type;
@@ -105,7 +105,7 @@ template<
struct set8 struct set8
: s_item< : s_item<
T7 T7
, set7< T0,T1,T2,T3,T4,T5,T6 > , typename set7< T0,T1,T2,T3,T4,T5,T6 >::item_
> >
{ {
typedef set8 type; typedef set8 type;
@@ -118,7 +118,7 @@ template<
struct set9 struct set9
: s_item< : s_item<
T8 T8
, set8< T0,T1,T2,T3,T4,T5,T6,T7 > , typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::item_
> >
{ {
typedef set9 type; typedef set9 type;
@@ -131,7 +131,7 @@ template<
struct set10 struct set10
: s_item< : s_item<
T9 T9
, set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > , typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::item_
> >
{ {
typedef set10 type; typedef set10 type;

View File

@@ -20,7 +20,7 @@ template<
struct set11 struct set11
: s_item< : s_item<
T10 T10
, set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > , typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::item_
> >
{ {
typedef set11 type; typedef set11 type;
@@ -34,7 +34,7 @@ template<
struct set12 struct set12
: s_item< : s_item<
T11 T11
, set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > , typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::item_
> >
{ {
typedef set12 type; typedef set12 type;
@@ -48,7 +48,8 @@ template<
struct set13 struct set13
: s_item< : s_item<
T12 T12
, set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > , typename set12< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
, T11 >::item_
> >
{ {
typedef set13 type; typedef set13 type;
@@ -62,7 +63,8 @@ template<
struct set14 struct set14
: s_item< : s_item<
T13 T13
, set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > , typename set13< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12 >::item_
> >
{ {
typedef set14 type; typedef set14 type;
@@ -76,7 +78,8 @@ template<
struct set15 struct set15
: s_item< : s_item<
T14 T14
, set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > , typename set14< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13 >::item_
> >
{ {
typedef set15 type; typedef set15 type;
@@ -91,7 +94,8 @@ template<
struct set16 struct set16
: s_item< : s_item<
T15 T15
, set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 > , typename set15< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14 >::item_
> >
{ {
typedef set16 type; typedef set16 type;
@@ -106,7 +110,8 @@ template<
struct set17 struct set17
: s_item< : s_item<
T16 T16
, set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 > , typename set16< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15 >::item_
> >
{ {
typedef set17 type; typedef set17 type;
@@ -121,7 +126,8 @@ template<
struct set18 struct set18
: s_item< : s_item<
T17 T17
, set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 > , typename set17< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16 >::item_
> >
{ {
typedef set18 type; typedef set18 type;
@@ -136,7 +142,8 @@ template<
struct set19 struct set19
: s_item< : s_item<
T18 T18
, set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 > , typename set18< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17 >::item_
> >
{ {
typedef set19 type; typedef set19 type;
@@ -151,7 +158,8 @@ template<
struct set20 struct set20
: s_item< : s_item<
T19 T19
, set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 > , typename set19< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18 >::item_
> >
{ {
typedef set20 type; typedef set20 type;

View File

@@ -22,7 +22,8 @@ template<
struct set21 struct set21
: s_item< : s_item<
T20 T20
, set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 > , typename set20< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19 >::item_
> >
{ {
typedef set21 type; typedef set21 type;
@@ -38,7 +39,8 @@ template<
struct set22 struct set22
: s_item< : s_item<
T21 T21
, set21< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 > , typename set21< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20 >::item_
> >
{ {
typedef set22 type; typedef set22 type;
@@ -54,7 +56,8 @@ template<
struct set23 struct set23
: s_item< : s_item<
T22 T22
, set22< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 > , typename set22< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 >::item_
> >
{ {
typedef set23 type; typedef set23 type;
@@ -70,7 +73,8 @@ template<
struct set24 struct set24
: s_item< : s_item<
T23 T23
, set23< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 > , typename set23< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 >::item_
> >
{ {
typedef set24 type; typedef set24 type;
@@ -86,7 +90,8 @@ template<
struct set25 struct set25
: s_item< : s_item<
T24 T24
, set24< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 > , typename set24< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 >::item_
> >
{ {
typedef set25 type; typedef set25 type;
@@ -103,7 +108,9 @@ template<
struct set26 struct set26
: s_item< : s_item<
T25 T25
, set25< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 > , typename set25< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23
, T24 >::item_
> >
{ {
typedef set26 type; typedef set26 type;
@@ -120,7 +127,9 @@ template<
struct set27 struct set27
: s_item< : s_item<
T26 T26
, set26< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 > , typename set26< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24
, T25 >::item_
> >
{ {
typedef set27 type; typedef set27 type;
@@ -137,7 +146,9 @@ template<
struct set28 struct set28
: s_item< : s_item<
T27 T27
, set27< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 > , typename set27< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26 >::item_
> >
{ {
typedef set28 type; typedef set28 type;
@@ -154,7 +165,9 @@ template<
struct set29 struct set29
: s_item< : s_item<
T28 T28
, set28< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 > , typename set28< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27 >::item_
> >
{ {
typedef set29 type; typedef set29 type;
@@ -171,7 +184,9 @@ template<
struct set30 struct set30
: s_item< : s_item<
T29 T29
, set29< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 > , typename set29< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28 >::item_
> >
{ {
typedef set30 type; typedef set30 type;

View File

@@ -24,7 +24,9 @@ template<
struct set31 struct set31
: s_item< : s_item<
T30 T30
, set30< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 > , typename set30< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29 >::item_
> >
{ {
typedef set31 type; typedef set31 type;
@@ -42,7 +44,9 @@ template<
struct set32 struct set32
: s_item< : s_item<
T31 T31
, set31< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 > , typename set31< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30 >::item_
> >
{ {
typedef set32 type; typedef set32 type;
@@ -60,7 +64,9 @@ template<
struct set33 struct set33
: s_item< : s_item<
T32 T32
, set32< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31 > , typename set32< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31 >::item_
> >
{ {
typedef set33 type; typedef set33 type;
@@ -78,7 +84,9 @@ template<
struct set34 struct set34
: s_item< : s_item<
T33 T33
, set33< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 > , typename set33< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32 >::item_
> >
{ {
typedef set34 type; typedef set34 type;
@@ -96,7 +104,9 @@ template<
struct set35 struct set35
: s_item< : s_item<
T34 T34
, set34< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33 > , typename set34< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33 >::item_
> >
{ {
typedef set35 type; typedef set35 type;
@@ -115,7 +125,9 @@ template<
struct set36 struct set36
: s_item< : s_item<
T35 T35
, set35< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34 > , typename set35< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34 >::item_
> >
{ {
typedef set36 type; typedef set36 type;
@@ -134,7 +146,9 @@ template<
struct set37 struct set37
: s_item< : s_item<
T36 T36
, set36< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35 > , typename set36< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35 >::item_
> >
{ {
typedef set37 type; typedef set37 type;
@@ -153,7 +167,9 @@ template<
struct set38 struct set38
: s_item< : s_item<
T37 T37
, set37< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36 > , typename set37< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36 >::item_
> >
{ {
typedef set38 type; typedef set38 type;
@@ -172,7 +188,9 @@ template<
struct set39 struct set39
: s_item< : s_item<
T38 T38
, set38< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 > , typename set38< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37 >::item_
> >
{ {
typedef set39 type; typedef set39 type;
@@ -191,7 +209,10 @@ template<
struct set40 struct set40
: s_item< : s_item<
T39 T39
, set39< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38 > , typename set39< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37
, T38 >::item_
> >
{ {
typedef set40 type; typedef set40 type;

View File

@@ -26,7 +26,10 @@ template<
struct set41 struct set41
: s_item< : s_item<
T40 T40
, set40< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39 > , typename set40< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38
, T39 >::item_
> >
{ {
typedef set41 type; typedef set41 type;
@@ -46,7 +49,10 @@ template<
struct set42 struct set42
: s_item< : s_item<
T41 T41
, set41< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40 > , typename set41< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40 >::item_
> >
{ {
typedef set42 type; typedef set42 type;
@@ -66,7 +72,10 @@ template<
struct set43 struct set43
: s_item< : s_item<
T42 T42
, set42< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41 > , typename set42< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41 >::item_
> >
{ {
typedef set43 type; typedef set43 type;
@@ -86,7 +95,10 @@ template<
struct set44 struct set44
: s_item< : s_item<
T43 T43
, set43< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42 > , typename set43< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42 >::item_
> >
{ {
typedef set44 type; typedef set44 type;
@@ -106,7 +118,10 @@ template<
struct set45 struct set45
: s_item< : s_item<
T44 T44
, set44< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43 > , typename set44< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42, T43 >::item_
> >
{ {
typedef set45 type; typedef set45 type;
@@ -127,7 +142,10 @@ template<
struct set46 struct set46
: s_item< : s_item<
T45 T45
, set45< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44 > , typename set45< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42, T43, T44 >::item_
> >
{ {
typedef set46 type; typedef set46 type;
@@ -148,7 +166,10 @@ template<
struct set47 struct set47
: s_item< : s_item<
T46 T46
, set46< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45 > , typename set46< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42, T43, T44, T45 >::item_
> >
{ {
typedef set47 type; typedef set47 type;
@@ -169,7 +190,10 @@ template<
struct set48 struct set48
: s_item< : s_item<
T47 T47
, set47< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46 > , typename set47< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42, T43, T44, T45, T46 >::item_
> >
{ {
typedef set48 type; typedef set48 type;
@@ -190,7 +214,10 @@ template<
struct set49 struct set49
: s_item< : s_item<
T48 T48
, set48< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47 > , typename set48< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42, T43, T44, T45, T46, T47 >::item_
> >
{ {
typedef set49 type; typedef set49 type;
@@ -211,7 +238,10 @@ template<
struct set50 struct set50
: s_item< : s_item<
T49 T49
, set49< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48 > , typename set49< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11
, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25
, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39
, T40, T41, T42, T43, T44, T45, T46, T47, T48 >::item_
> >
{ {
typedef set50 type; typedef set50 type;

View File

@@ -50,9 +50,9 @@ namespace boost { namespace mpl {
#endif #endif
template< typename Dummy = na > struct set0 template< typename Dummy = na > struct set0
{ {
typedef set0<> item_;
typedef aux::set_tag tag; typedef aux::set_tag tag;
typedef void_ last_masked_; typedef void_ last_masked_;
typedef void_ item_type_; typedef void_ item_type_;