Home | History | Annotate | Download | only in internal

Lines Matching refs:Iterator

2847     return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin());
2850 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end());
2854 class Iterator : public ParamIteratorInterface<ParamType> {
2856 Iterator(const ParamGeneratorInterface<ParamType>* base,
2858 const typename ParamGenerator<T1>::iterator& current1,
2860 const typename ParamGenerator<T2>::iterator& current2)
2866 virtual ~Iterator() {}
2883 return new Iterator(*this);
2888 // iterator is of the same type and we can downcast.
2892 const Iterator* typed_other =
2893 CheckedDowncastToActualType<const Iterator>(&other);
2904 Iterator(const Iterator& other)
2920 // We must report iterator past the end of the range when either of the
2928 void operator=(const Iterator& other);
2931 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
2932 // current[i]_ is the actual traversing iterator.
2933 const typename ParamGenerator<T1>::iterator begin1_;
2934 const typename ParamGenerator<T1>::iterator end1_;
2935 typename ParamGenerator<T1>::iterator current1_;
2936 const typename ParamGenerator<T2>::iterator begin2_;
2937 const typename ParamGenerator<T2>::iterator end2_;
2938 typename ParamGenerator<T2>::iterator current2_;
2940 }; // class CartesianProductGenerator2::Iterator
2962 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
2966 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end());
2970 class Iterator : public ParamIteratorInterface<ParamType> {
2972 Iterator(const ParamGeneratorInterface<ParamType>* base,
2974 const typename ParamGenerator<T1>::iterator& current1,
2976 const typename ParamGenerator<T2>::iterator& current2,
2978 const typename ParamGenerator<T3>::iterator& current3)
2985 virtual ~Iterator() {}
3006 return new Iterator(*this);
3011 // iterator is of the same type and we can downcast.
3015 const Iterator* typed_other =
3016 CheckedDowncastToActualType<const Iterator>(&other);
3028 Iterator(const Iterator& other)
3047 // We must report iterator past the end of the range when either of the
3056 void operator=(const Iterator& other);
3059 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
3060 // current[i]_ is the actual traversing iterator.
3061 const typename ParamGenerator<T1>::iterator begin1_;
3062 const typename ParamGenerator<T1>::iterator end1_;
3063 typename ParamGenerator<T1>::iterator current1_;
3064 const typename ParamGenerator<T2>::iterator begin2_;
3065 const typename ParamGenerator<T2>::iterator end2_;
3066 typename ParamGenerator<T2>::iterator current2_;
3067 const typename ParamGenerator<T3>::iterator begin3_;
3068 const typename ParamGenerator<T3>::iterator end3_;
3069 typename ParamGenerator<T3>::iterator current3_;
3071 }; // class CartesianProductGenerator3::Iterator
3095 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
3099 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
3104 class Iterator : public ParamIteratorInterface<ParamType> {
3106 Iterator(const ParamGeneratorInterface<ParamType>* base,
3108 const typename ParamGenerator<T1>::iterator& current1,
3110 const typename ParamGenerator<T2>::iterator& current2,
3112 const typename ParamGenerator<T3>::iterator& current3,
3114 const typename ParamGenerator<T4>::iterator& current4)
3122 virtual ~Iterator() {}
3147 return new Iterator(*this);
3152 // iterator is of the same type and we can downcast.
3156 const Iterator* typed_other =
3157 CheckedDowncastToActualType<const Iterator>(&other);
3170 Iterator(const Iterator& other)
3193 // We must report iterator past the end of the range when either of the
3203 void operator=(const Iterator& other);
3206 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
3207 // current[i]_ is the actual traversing iterator.
3208 const typename ParamGenerator<T1>::iterator begin1_;
3209 const typename ParamGenerator<T1>::iterator end1_;
3210 typename ParamGenerator<T1>::iterator current1_;
3211 const typename ParamGenerator<T2>::iterator begin2_;
3212 const typename ParamGenerator<T2>::iterator end2_;
3213 typename ParamGenerator<T2>::iterator current2_;
3214 const typename ParamGenerator<T3>::iterator begin3_;
3215 const typename ParamGenerator<T3>::iterator end3_;
3216 typename ParamGenerator<T3>::iterator current3_;
3217 const typename ParamGenerator<T4>::iterator begin4_;
3218 const typename ParamGenerator<T4>::iterator end4_;
3219 typename ParamGenerator<T4>::iterator current4_;
3221 }; // class CartesianProductGenerator4::Iterator
3246 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
3250 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
3255 class Iterator : public ParamIteratorInterface<ParamType> {
3257 Iterator(const ParamGeneratorInterface<ParamType>* base,
3259 const typename ParamGenerator<T1>::iterator& current1,
3261 const typename ParamGenerator<T2>::iterator& current2,
3263 const typename ParamGenerator<T3>::iterator& current3,
3265 const typename ParamGenerator<T4>::iterator& current4,
3267 const typename ParamGenerator<T5>::iterator& current5)
3276 virtual ~Iterator() {}
3305 return new Iterator(*this);
3310 // iterator is of the same type and we can downcast.
3314 const Iterator* typed_other =
3315 CheckedDowncastToActualType<const Iterator>(&other);
3329 Iterator(const Iterator& other)
3355 // We must report iterator past the end of the range when either of the
3366 void operator=(const Iterator& other);
3369 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
3370 // current[i]_ is the actual traversing iterator.
3371 const typename ParamGenerator<T1>::iterator begin1_;
3372 const typename ParamGenerator<T1>::iterator end1_;
3373 typename ParamGenerator<T1>::iterator current1_;
3374 const typename ParamGenerator<T2>::iterator begin2_;
3375 const typename ParamGenerator<T2>::iterator end2_;
3376 typename ParamGenerator<T2>::iterator current2_;
3377 const typename ParamGenerator<T3>::iterator begin3_;
3378 const typename ParamGenerator<T3>::iterator end3_;
3379 typename ParamGenerator<T3>::iterator current3_;
3380 const typename ParamGenerator<T4>::iterator begin4_;
3381 const typename ParamGenerator<T4>::iterator end4_;
3382 typename ParamGenerator<T4>::iterator current4_;
3383 const typename ParamGenerator<T5>::iterator begin5_;
3384 const typename ParamGenerator<T5>::iterator end5_;
3385 typename ParamGenerator<T5>::iterator current5_;
3387 }; // class CartesianProductGenerator5::Iterator
3416 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
3420 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
3425 class Iterator : public ParamIteratorInterface<ParamType> {
3427 Iterator(const ParamGeneratorInterface<ParamType>* base,
3429 iterator& current1,
3431 const typename ParamGenerator<T2>::iterator& current2,
3433 const typename ParamGenerator<T3>::iterator& current3,
3435 const typename ParamGenerator<T4>::iterator& current4,
3437 const typename ParamGenerator<T5>::iterator& current5,
3439 const typename ParamGenerator<T6>::iterator& current6)
3449 virtual ~Iterator() {}
3482 return new Iterator(*this);
3487 // iterator is of the same type and we can downcast.
3491 const Iterator* typed_other =
3492 CheckedDowncastToActualType<const Iterator>(&other);
3507 Iterator(const Iterator& other)
3536 // We must report iterator past the end of the range when either of the
3548 void operator=(const Iterator& other);
3551 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
3552 // current[i]_ is the actual traversing iterator.
3553 const typename ParamGenerator<T1>::iterator begin1_;
3554 const typename ParamGenerator<T1>::iterator end1_;
3555 typename ParamGenerator<T1>::iterator current1_;
3556 const typename ParamGenerator<T2>::iterator begin2_;
3557 const typename ParamGenerator<T2>::iterator end2_;
3558 typename ParamGenerator<T2>::iterator current2_;
3559 const typename ParamGenerator<T3>::iterator begin3_;
3560 const typename ParamGenerator<T3>::iterator end3_;
3561 typename ParamGenerator<T3>::iterator current3_;
3562 const typename ParamGenerator<T4>::iterator begin4_;
3563 const typename ParamGenerator<T4>::iterator end4_;
3564 typename ParamGenerator<T4>::iterator current4_;
3565 const typename ParamGenerator<T5>::iterator begin5_;
3566 const typename ParamGenerator<T5>::iterator end5_;
3567 typename ParamGenerator<T5>::iterator current5_;
3568 const typename ParamGenerator<T6>::iterator begin6_;
3569 const typename ParamGenerator<T6>::iterator end6_;
3570 typename ParamGenerator<T6>::iterator current6_;
3572 }; // class CartesianProductGenerator6::Iterator
3602 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
3607 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
3612 class Iterator : public ParamIteratorInterface<ParamType> {
3614 Iterator(const ParamGeneratorInterface<ParamType>* base,
3616 const typename ParamGenerator<T1>::iterator& current1,
3618 const typename ParamGenerator<T2>::iterator& current2,
3620 const typename ParamGenerator<T3>::iterator& current3,
3622 const typename ParamGenerator<T4>::iterator& current4,
3624 const typename ParamGenerator<T5>::iterator& current5,
3626 const typename ParamGenerator<T6>::iterator& current6,
3628 const typename ParamGenerator<T7>::iterator& current7)
3639 virtual ~Iterator() {}
3676 return new Iterator(*this);
3681 // iterator is of the same type and we can downcast.
3685 const Iterator* typed_other =
3686 CheckedDowncastToActualType<const Iterator>(&other);
3702 Iterator(const Iterator& other)
3734 // We must report iterator past the end of the range when either of the
3747 void operator=(const Iterator& other);
3750 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
3751 // current[i]_ is the actual traversing iterator.
3752 const typename ParamGenerator<T1>::iterator begin1_;
3753 const typename ParamGenerator<T1>::iterator end1_;
3754 typename ParamGenerator<T1>::iterator current1_;
3755 const typename ParamGenerator<T2>::iterator begin2_;
3756 const typename ParamGenerator<T2>::iterator end2_;
3757 typename ParamGenerator<T2>::iterator current2_;
3758 const typename ParamGenerator<T3>::iterator begin3_;
3759 const typename ParamGenerator<T3>::iterator end3_;
3760 typename ParamGenerator<T3>::iterator current3_;
3761 const typename ParamGenerator<T4>::iterator begin4_;
3762 const typename ParamGenerator<T4>::iterator end4_;
3763 typename ParamGenerator<T4>::iterator current4_;
3764 const typename ParamGenerator<T5>::iterator begin5_;
3765 const typename ParamGenerator<T5>::iterator end5_;
3766 typename ParamGenerator<T5>::iterator current5_;
3767 const typename ParamGenerator<T6>::iterator begin6_;
3768 const typename ParamGenerator<T6>::iterator end6_;
3769 typename ParamGenerator<T6>::iterator current6_;
3770 const typename ParamGenerator<T7>::iterator begin7_;
3771 const typename ParamGenerator<T7>::iterator end7_;
3772 typename ParamGenerator<T7>::iterator current7_;
3774 }; // class CartesianProductGenerator7::Iterator
3807 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
3812 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
3818 class Iterator : public ParamIteratorInterface<ParamType> {
3820 Iterator(const ParamGeneratorInterface<ParamType>* base,
3822 const typename ParamGenerator<T1>::iterator& current1,
3824 const typename ParamGenerator<T2>::iterator& current2,
3826 const typename ParamGenerator<T3>::iterator& current3,
3828 const typename ParamGenerator<T4>::iterator& current4,
3830 const typename ParamGenerator<T5>::iterator& current5,
3832 const typename ParamGenerator<T6>::iterator& current6,
3834 const typename ParamGenerator<T7>::iterator& current7,
3836 const typename ParamGenerator<T8>::iterator& current8)
3848 virtual ~Iterator() {}
3889 return new Iterator(*this);
3894 // iterator is of the same type and we can downcast.
3898 const Iterator* typed_other =
3899 CheckedDowncastToActualType<const Iterator>(&other);
3916 Iterator(const Iterator& other)
3951 // We must report iterator past the end of the range when either of the
3965 void operator=(const Iterator& other);
3968 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
3969 // current[i]_ is the actual traversing iterator.
3970 const typename ParamGenerator<T1>::iterator begin1_;
3971 const typename ParamGenerator<T1>::iterator end1_;
3972 typename ParamGenerator<T1>::iterator current1_;
3973 const typename ParamGenerator<T2>::iterator begin2_;
3974 const typename ParamGenerator<T2>::iterator end2_;
3975 typename ParamGenerator<T2>::iterator current2_;
3976 const typename ParamGenerator<T3>::iterator begin3_;
3977 const typename ParamGenerator<T3>::iterator end3_;
3978 typename ParamGenerator<T3>::iterator current3_;
3979 const typename ParamGenerator<T4>::iterator begin4_;
3980 const typename ParamGenerator<T4>::iterator end4_;
3981 typename ParamGenerator<T4>::iterator current4_;
3982 const typename ParamGenerator<T5>::iterator begin5_;
3983 const typename ParamGenerator<T5>::iterator end5_;
3984 typename ParamGenerator<T5>::iterator current5_;
3985 const typename ParamGenerator<T6>::iterator begin6_;
3986 const typename ParamGenerator<T6>::iterator end6_;
3987 typename ParamGenerator<T6>::iterator current6_;
3988 const typename ParamGenerator<T7>::iterator begin7_;
3989 const typename ParamGenerator<T7>::iterator end7_;
3990 typename ParamGenerator<T7>::iterator current7_;
3991 const typename ParamGenerator<T8>::iterator begin8_;
3992 const typename ParamGenerator<T8>::iterator end8_;
3993 typename ParamGenerator<T8>::iterator current8_;
3995 }; // class CartesianProductGenerator8::Iterator
4029 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
4034 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
4040 class Iterator : public ParamIteratorInterface<ParamType> {
4042 Iterator(const ParamGeneratorInterface<ParamType>* base,
4044 const typename ParamGenerator<T1>::iterator& current1,
4046 const typename ParamGenerator<T2>::iterator& current2,
4048 const typename ParamGenerator<T3>::iterator& current3,
4050 const typename ParamGenerator<T4>::iterator& current4,
4052 const typename ParamGenerator<T5>::iterator& current5,
4054 const typename ParamGenerator<T6>::iterator& current6,
4056 const typename ParamGenerator<T7>::iterator& current7,
4058 const typename ParamGenerator<T8>::iterator& current8,
4060 const typename ParamGenerator<T9>::iterator& current9)
4073 virtual ~Iterator() {}
4118 return new Iterator(*this);
4123 // iterator is of the same type and we can downcast.
4127 const Iterator* typed_other =
4128 CheckedDowncastToActualType<const Iterator>(&other);
4146 Iterator(const Iterator& other)
4185 // We must report iterator past the end of the range when either of the
4200 void operator=(const Iterator& other);
4203 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
4204 // current[i]_ is the actual traversing iterator.
4205 const typename ParamGenerator<T1>::iterator begin1_;
4206 const typename ParamGenerator<T1>::iterator end1_;
4207 typename ParamGenerator<T1>::iterator current1_;
4208 const typename ParamGenerator<T2>::iterator begin2_;
4209 const typename ParamGenerator<T2>::iterator end2_;
4210 typename ParamGenerator<T2>::iterator current2_;
4211 const typename ParamGenerator<T3>::iterator begin3_;
4212 const typename ParamGenerator<T3>::iterator end3_;
4213 typename ParamGenerator<T3>::iterator current3_;
4214 const typename ParamGenerator<T4>::iterator begin4_;
4215 const typename ParamGenerator<T4>::iterator end4_;
4216 typename ParamGenerator<T4>::iterator current4_;
4217 const typename ParamGenerator<T5>::iterator begin5_;
4218 const typename ParamGenerator<T5>::iterator end5_;
4219 typename ParamGenerator<T5>::iterator current5_;
4220 const typename ParamGenerator<T6>::iterator begin6_;
4221 const typename ParamGenerator<T6>::iterator end6_;
4222 typename ParamGenerator<T6>::iterator current6_;
4223 const typename ParamGenerator<T7>::iterator begin7_;
4224 const typename ParamGenerator<T7>::iterator end7_;
4225 typename ParamGenerator<T7>::iterator current7_;
4226 const typename ParamGenerator<T8>::iterator begin8_;
4227 const typename ParamGenerator<T8>::iterator end8_;
4228 typename ParamGenerator<T8>::iterator current8_;
4229 const typename ParamGenerator<T9>::iterator begin9_;
4230 const typename ParamGenerator<T9>::iterator end9_;
4231 typename ParamGenerator<T9>::iterator current9_;
4233 }; // class CartesianProductGenerator9::Iterator
4269 return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
4274 return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
4280 class Iterator : public ParamIteratorInterface<ParamType> {
4282 Iterator(const ParamGeneratorInterface<ParamType>* base,
4284 const typename ParamGenerator<T1>::iterator& current1,
4286 const typename ParamGenerator<T2>::iterator& current2,
4288 const typename ParamGenerator<T3>::iterator& current3,
4290 const typename ParamGenerator<T4>::iterator& current4,
4292 const typename ParamGenerator<T5>::iterator& current5,
4294 const typename ParamGenerator<T6>::iterator& current6,
4296 const typename ParamGenerator<T7>::iterator& current7,
4298 const typename ParamGenerator<T8>::iterator& current8,
4300 const typename ParamGenerator<T9>::iterator& current9,
4302 const typename ParamGenerator<T10>::iterator& current10)
4316 virtual ~Iterator() {}
4365 return new Iterator(*this);
4370 // iterator is of the same type and we can downcast.
4374 const Iterator* typed_other =
4375 CheckedDowncastToActualType<const Iterator>(&other);
4394 Iterator(const Iterator& other)
4436 // We must report iterator past the end of the range when either of the
4452 void operator=(const Iterator& other);
4455 // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
4456 // current[i]_ is the actual traversing iterator.
4457 const typename ParamGenerator<T1>::iterator begin1_;
4458 const typename ParamGenerator<T1>::iterator end1_;
4459 typename ParamGenerator<T1>::iterator current1_;
4460 const typename ParamGenerator<T2>::iterator begin2_;
4461 const typename ParamGenerator<T2>::iterator end2_;
4462 typename ParamGenerator<T2>::iterator current2_;
4463 const typename ParamGenerator<T3>::iterator begin3_;
4464 const typename ParamGenerator<T3>::iterator end3_;
4465 typename ParamGenerator<T3>::iterator current3_;
4466 const typename ParamGenerator<T4>::iterator begin4_;
4467 const typename ParamGenerator<T4>::iterator end4_;
4468 typename ParamGenerator<T4>::iterator current4_;
4469 const typename ParamGenerator<T5>::iterator begin5_;
4470 const typename ParamGenerator<T5>::iterator end5_;
4471 typename ParamGenerator<T5>::iterator current5_;
4472 const typename ParamGenerator<T6>::iterator begin6_;
4473 const typename ParamGenerator<T6>::iterator end6_;
4474 typename ParamGenerator<T6>::iterator current6_;
4475 const typename ParamGenerator<T7>::iterator begin7_;
4476 const typename ParamGenerator<T7>::iterator end7_;
4477 typename ParamGenerator<T7>::iterator current7_;
4478 const typename ParamGenerator<T8>::iterator begin8_;
4479 const typename ParamGenerator<T8>::iterator end8_;
4480 typename ParamGenerator<T8>::iterator current8_;
4481 const typename ParamGenerator<T9>::iterator begin9_;
4482 const typename ParamGenerator<T9>::iterator end9_;
4483 typename ParamGenerator<T9>::iterator current9_;
4484 const typename ParamGenerator<T10>::iterator begin10_;
4485 const typename ParamGenerator<T10>::iterator end10_;
4486 typename ParamGenerator<T10>::iterator current10_;
4488 }; // class CartesianProductGenerator10::Iterator