gtest-param-util-generated.h
Go to the documentation of this file.
1 // This file was GENERATED by command:
2 // pump.py gtest-param-util-generated.h.pump
3 // DO NOT EDIT BY HAND!!!
4 
5 // Copyright 2008 Google Inc.
6 // All Rights Reserved.
7 //
8 // Redistribution and use in source and binary forms, with or without
9 // modification, are permitted provided that the following conditions are
10 // met:
11 //
12 // * Redistributions of source code must retain the above copyright
13 // notice, this list of conditions and the following disclaimer.
14 // * Redistributions in binary form must reproduce the above
15 // copyright notice, this list of conditions and the following disclaimer
16 // in the documentation and/or other materials provided with the
17 // distribution.
18 // * Neither the name of Google Inc. nor the names of its
19 // contributors may be used to endorse or promote products derived from
20 // this software without specific prior written permission.
21 //
22 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 
34 
35 // Type and function utilities for implementing parameterized tests.
36 // This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
37 //
38 // Currently Google Test supports at most 50 arguments in Values,
39 // and at most 10 arguments in Combine. Please contact
40 // googletestframework@googlegroups.com if you need more.
41 // Please note that the number of arguments to Combine is limited
42 // by the maximum arity of the implementation of tuple which is
43 // currently set at 10.
44 
45 // GOOGLETEST_CM0001 DO NOT DELETE
46 
47 #include <assert.h>
48 
49 #include <memory>
50 
51 #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
52 #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
53 
56 
57 namespace testing {
58 
59 namespace internal {
60 // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
61 //
62 // Generates values from the Cartesian product of values produced
63 // by the argument generators.
64 //
65 template <typename T1, typename T2>
67  : public ParamGeneratorInterface< ::std::tuple<T1, T2> > {
68  public:
69  typedef ::std::tuple<T1, T2> ParamType;
70 
72  const ParamGenerator<T2>& g2)
73  : g1_(g1), g2_(g2) {}
75 
77  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin());
78  }
80  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end());
81  }
82 
83  private:
84  class Iterator : public ParamIteratorInterface<ParamType> {
85  public:
87  const ParamGenerator<T1>& g1,
88  const typename ParamGenerator<T1>::iterator& current1,
89  const ParamGenerator<T2>& g2,
90  const typename ParamGenerator<T2>::iterator& current2)
91  : base_(base),
92  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
93  begin2_(g2.begin()), end2_(g2.end()), current2_(current2) {
95  }
96  ~Iterator() override {}
97 
99  return base_;
100  }
101  // Advance should not be called on beyond-of-range iterators
102  // so no component iterators must be beyond end of range, either.
103  void Advance() override {
104  assert(!AtEnd());
105  ++current2_;
106  if (current2_ == end2_) {
107  current2_ = begin2_;
108  ++current1_;
109  }
111  }
113  return new Iterator(*this);
114  }
115  const ParamType* Current() const override { return current_value_.get(); }
116  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
117  // Having the same base generator guarantees that the other
118  // iterator is of the same type and we can downcast.
120  << "The program attempted to compare iterators "
121  << "from different generators." << std::endl;
122  const Iterator* typed_other =
123  CheckedDowncastToActualType<const Iterator>(&other);
124  // We must report iterators equal if they both point beyond their
125  // respective ranges. That can happen in a variety of fashions,
126  // so we have to consult AtEnd().
127  return (AtEnd() && typed_other->AtEnd()) ||
128  (
129  current1_ == typed_other->current1_ &&
130  current2_ == typed_other->current2_);
131  }
132 
133  private:
134  Iterator(const Iterator& other)
135  : base_(other.base_),
136  begin1_(other.begin1_),
137  end1_(other.end1_),
138  current1_(other.current1_),
139  begin2_(other.begin2_),
140  end2_(other.end2_),
141  current2_(other.current2_) {
143  }
144 
146  if (!AtEnd())
148  }
149  bool AtEnd() const {
150  // We must report iterator past the end of the range when either of the
151  // component iterators has reached the end of its range.
152  return
153  current1_ == end1_ ||
154  current2_ == end2_;
155  }
156 
157  // No implementation - assignment is unsupported.
158  void operator=(const Iterator& other);
159 
161  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
162  // current[i]_ is the actual traversing iterator.
169  std::shared_ptr<ParamType> current_value_;
170  }; // class CartesianProductGenerator2::Iterator
171 
172  // No implementation - assignment is unsupported.
173  void operator=(const CartesianProductGenerator2& other);
174 
177 }; // class CartesianProductGenerator2
178 
179 
180 template <typename T1, typename T2, typename T3>
182  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3> > {
183  public:
184  typedef ::std::tuple<T1, T2, T3> ParamType;
185 
187  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3)
188  : g1_(g1), g2_(g2), g3_(g3) {}
190 
192  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
193  g3_.begin());
194  }
196  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end());
197  }
198 
199  private:
200  class Iterator : public ParamIteratorInterface<ParamType> {
201  public:
203  const ParamGenerator<T1>& g1,
204  const typename ParamGenerator<T1>::iterator& current1,
205  const ParamGenerator<T2>& g2,
206  const typename ParamGenerator<T2>::iterator& current2,
207  const ParamGenerator<T3>& g3,
208  const typename ParamGenerator<T3>::iterator& current3)
209  : base_(base),
210  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
211  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
212  begin3_(g3.begin()), end3_(g3.end()), current3_(current3) {
214  }
215  ~Iterator() override {}
216 
218  return base_;
219  }
220  // Advance should not be called on beyond-of-range iterators
221  // so no component iterators must be beyond end of range, either.
222  void Advance() override {
223  assert(!AtEnd());
224  ++current3_;
225  if (current3_ == end3_) {
226  current3_ = begin3_;
227  ++current2_;
228  }
229  if (current2_ == end2_) {
230  current2_ = begin2_;
231  ++current1_;
232  }
234  }
236  return new Iterator(*this);
237  }
238  const ParamType* Current() const override { return current_value_.get(); }
239  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
240  // Having the same base generator guarantees that the other
241  // iterator is of the same type and we can downcast.
243  << "The program attempted to compare iterators "
244  << "from different generators." << std::endl;
245  const Iterator* typed_other =
246  CheckedDowncastToActualType<const Iterator>(&other);
247  // We must report iterators equal if they both point beyond their
248  // respective ranges. That can happen in a variety of fashions,
249  // so we have to consult AtEnd().
250  return (AtEnd() && typed_other->AtEnd()) ||
251  (
252  current1_ == typed_other->current1_ &&
253  current2_ == typed_other->current2_ &&
254  current3_ == typed_other->current3_);
255  }
256 
257  private:
258  Iterator(const Iterator& other)
259  : base_(other.base_),
260  begin1_(other.begin1_),
261  end1_(other.end1_),
262  current1_(other.current1_),
263  begin2_(other.begin2_),
264  end2_(other.end2_),
265  current2_(other.current2_),
266  begin3_(other.begin3_),
267  end3_(other.end3_),
268  current3_(other.current3_) {
270  }
271 
273  if (!AtEnd())
275  }
276  bool AtEnd() const {
277  // We must report iterator past the end of the range when either of the
278  // component iterators has reached the end of its range.
279  return
280  current1_ == end1_ ||
281  current2_ == end2_ ||
282  current3_ == end3_;
283  }
284 
285  // No implementation - assignment is unsupported.
286  void operator=(const Iterator& other);
287 
289  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
290  // current[i]_ is the actual traversing iterator.
300  std::shared_ptr<ParamType> current_value_;
301  }; // class CartesianProductGenerator3::Iterator
302 
303  // No implementation - assignment is unsupported.
304  void operator=(const CartesianProductGenerator3& other);
305 
309 }; // class CartesianProductGenerator3
310 
311 
312 template <typename T1, typename T2, typename T3, typename T4>
314  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4> > {
315  public:
316  typedef ::std::tuple<T1, T2, T3, T4> ParamType;
317 
319  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
320  const ParamGenerator<T4>& g4)
321  : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {}
323 
325  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
326  g3_.begin(), g4_, g4_.begin());
327  }
329  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
330  g4_, g4_.end());
331  }
332 
333  private:
334  class Iterator : public ParamIteratorInterface<ParamType> {
335  public:
337  const ParamGenerator<T1>& g1,
338  const typename ParamGenerator<T1>::iterator& current1,
339  const ParamGenerator<T2>& g2,
340  const typename ParamGenerator<T2>::iterator& current2,
341  const ParamGenerator<T3>& g3,
342  const typename ParamGenerator<T3>::iterator& current3,
343  const ParamGenerator<T4>& g4,
344  const typename ParamGenerator<T4>::iterator& current4)
345  : base_(base),
346  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
347  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
348  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
349  begin4_(g4.begin()), end4_(g4.end()), current4_(current4) {
351  }
352  ~Iterator() override {}
353 
355  return base_;
356  }
357  // Advance should not be called on beyond-of-range iterators
358  // so no component iterators must be beyond end of range, either.
359  void Advance() override {
360  assert(!AtEnd());
361  ++current4_;
362  if (current4_ == end4_) {
363  current4_ = begin4_;
364  ++current3_;
365  }
366  if (current3_ == end3_) {
367  current3_ = begin3_;
368  ++current2_;
369  }
370  if (current2_ == end2_) {
371  current2_ = begin2_;
372  ++current1_;
373  }
375  }
377  return new Iterator(*this);
378  }
379  const ParamType* Current() const override { return current_value_.get(); }
380  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
381  // Having the same base generator guarantees that the other
382  // iterator is of the same type and we can downcast.
384  << "The program attempted to compare iterators "
385  << "from different generators." << std::endl;
386  const Iterator* typed_other =
387  CheckedDowncastToActualType<const Iterator>(&other);
388  // We must report iterators equal if they both point beyond their
389  // respective ranges. That can happen in a variety of fashions,
390  // so we have to consult AtEnd().
391  return (AtEnd() && typed_other->AtEnd()) ||
392  (
393  current1_ == typed_other->current1_ &&
394  current2_ == typed_other->current2_ &&
395  current3_ == typed_other->current3_ &&
396  current4_ == typed_other->current4_);
397  }
398 
399  private:
400  Iterator(const Iterator& other)
401  : base_(other.base_),
402  begin1_(other.begin1_),
403  end1_(other.end1_),
404  current1_(other.current1_),
405  begin2_(other.begin2_),
406  end2_(other.end2_),
407  current2_(other.current2_),
408  begin3_(other.begin3_),
409  end3_(other.end3_),
410  current3_(other.current3_),
411  begin4_(other.begin4_),
412  end4_(other.end4_),
413  current4_(other.current4_) {
415  }
416 
418  if (!AtEnd())
420  *current4_));
421  }
422  bool AtEnd() const {
423  // We must report iterator past the end of the range when either of the
424  // component iterators has reached the end of its range.
425  return
426  current1_ == end1_ ||
427  current2_ == end2_ ||
428  current3_ == end3_ ||
429  current4_ == end4_;
430  }
431 
432  // No implementation - assignment is unsupported.
433  void operator=(const Iterator& other);
434 
436  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
437  // current[i]_ is the actual traversing iterator.
450  std::shared_ptr<ParamType> current_value_;
451  }; // class CartesianProductGenerator4::Iterator
452 
453  // No implementation - assignment is unsupported.
454  void operator=(const CartesianProductGenerator4& other);
455 
460 }; // class CartesianProductGenerator4
461 
462 
463 template <typename T1, typename T2, typename T3, typename T4, typename T5>
465  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5> > {
466  public:
467  typedef ::std::tuple<T1, T2, T3, T4, T5> ParamType;
468 
470  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
471  const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5)
472  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {}
474 
476  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
477  g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin());
478  }
480  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
481  g4_, g4_.end(), g5_, g5_.end());
482  }
483 
484  private:
485  class Iterator : public ParamIteratorInterface<ParamType> {
486  public:
488  const ParamGenerator<T1>& g1,
489  const typename ParamGenerator<T1>::iterator& current1,
490  const ParamGenerator<T2>& g2,
491  const typename ParamGenerator<T2>::iterator& current2,
492  const ParamGenerator<T3>& g3,
493  const typename ParamGenerator<T3>::iterator& current3,
494  const ParamGenerator<T4>& g4,
495  const typename ParamGenerator<T4>::iterator& current4,
496  const ParamGenerator<T5>& g5,
497  const typename ParamGenerator<T5>::iterator& current5)
498  : base_(base),
499  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
500  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
501  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
502  begin4_(g4.begin()), end4_(g4.end()), current4_(current4),
503  begin5_(g5.begin()), end5_(g5.end()), current5_(current5) {
505  }
506  ~Iterator() override {}
507 
509  return base_;
510  }
511  // Advance should not be called on beyond-of-range iterators
512  // so no component iterators must be beyond end of range, either.
513  void Advance() override {
514  assert(!AtEnd());
515  ++current5_;
516  if (current5_ == end5_) {
517  current5_ = begin5_;
518  ++current4_;
519  }
520  if (current4_ == end4_) {
521  current4_ = begin4_;
522  ++current3_;
523  }
524  if (current3_ == end3_) {
525  current3_ = begin3_;
526  ++current2_;
527  }
528  if (current2_ == end2_) {
529  current2_ = begin2_;
530  ++current1_;
531  }
533  }
535  return new Iterator(*this);
536  }
537  const ParamType* Current() const override { return current_value_.get(); }
538  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
539  // Having the same base generator guarantees that the other
540  // iterator is of the same type and we can downcast.
542  << "The program attempted to compare iterators "
543  << "from different generators." << std::endl;
544  const Iterator* typed_other =
545  CheckedDowncastToActualType<const Iterator>(&other);
546  // We must report iterators equal if they both point beyond their
547  // respective ranges. That can happen in a variety of fashions,
548  // so we have to consult AtEnd().
549  return (AtEnd() && typed_other->AtEnd()) ||
550  (
551  current1_ == typed_other->current1_ &&
552  current2_ == typed_other->current2_ &&
553  current3_ == typed_other->current3_ &&
554  current4_ == typed_other->current4_ &&
555  current5_ == typed_other->current5_);
556  }
557 
558  private:
559  Iterator(const Iterator& other)
560  : base_(other.base_),
561  begin1_(other.begin1_),
562  end1_(other.end1_),
563  current1_(other.current1_),
564  begin2_(other.begin2_),
565  end2_(other.end2_),
566  current2_(other.current2_),
567  begin3_(other.begin3_),
568  end3_(other.end3_),
569  current3_(other.current3_),
570  begin4_(other.begin4_),
571  end4_(other.end4_),
572  current4_(other.current4_),
573  begin5_(other.begin5_),
574  end5_(other.end5_),
575  current5_(other.current5_) {
577  }
578 
580  if (!AtEnd())
582  *current4_, *current5_));
583  }
584  bool AtEnd() const {
585  // We must report iterator past the end of the range when either of the
586  // component iterators has reached the end of its range.
587  return
588  current1_ == end1_ ||
589  current2_ == end2_ ||
590  current3_ == end3_ ||
591  current4_ == end4_ ||
592  current5_ == end5_;
593  }
594 
595  // No implementation - assignment is unsupported.
596  void operator=(const Iterator& other);
597 
599  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
600  // current[i]_ is the actual traversing iterator.
616  std::shared_ptr<ParamType> current_value_;
617  }; // class CartesianProductGenerator5::Iterator
618 
619  // No implementation - assignment is unsupported.
620  void operator=(const CartesianProductGenerator5& other);
621 
627 }; // class CartesianProductGenerator5
628 
629 
630 template <typename T1, typename T2, typename T3, typename T4, typename T5,
631  typename T6>
633  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6> > {
634  public:
635  typedef ::std::tuple<T1, T2, T3, T4, T5, T6> ParamType;
636 
638  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
639  const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5,
640  const ParamGenerator<T6>& g6)
641  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {}
643 
645  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
646  g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin());
647  }
649  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
650  g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end());
651  }
652 
653  private:
654  class Iterator : public ParamIteratorInterface<ParamType> {
655  public:
657  const ParamGenerator<T1>& g1,
658  const typename ParamGenerator<T1>::iterator& current1,
659  const ParamGenerator<T2>& g2,
660  const typename ParamGenerator<T2>::iterator& current2,
661  const ParamGenerator<T3>& g3,
662  const typename ParamGenerator<T3>::iterator& current3,
663  const ParamGenerator<T4>& g4,
664  const typename ParamGenerator<T4>::iterator& current4,
665  const ParamGenerator<T5>& g5,
666  const typename ParamGenerator<T5>::iterator& current5,
667  const ParamGenerator<T6>& g6,
668  const typename ParamGenerator<T6>::iterator& current6)
669  : base_(base),
670  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
671  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
672  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
673  begin4_(g4.begin()), end4_(g4.end()), current4_(current4),
674  begin5_(g5.begin()), end5_(g5.end()), current5_(current5),
675  begin6_(g6.begin()), end6_(g6.end()), current6_(current6) {
677  }
678  ~Iterator() override {}
679 
681  return base_;
682  }
683  // Advance should not be called on beyond-of-range iterators
684  // so no component iterators must be beyond end of range, either.
685  void Advance() override {
686  assert(!AtEnd());
687  ++current6_;
688  if (current6_ == end6_) {
689  current6_ = begin6_;
690  ++current5_;
691  }
692  if (current5_ == end5_) {
693  current5_ = begin5_;
694  ++current4_;
695  }
696  if (current4_ == end4_) {
697  current4_ = begin4_;
698  ++current3_;
699  }
700  if (current3_ == end3_) {
701  current3_ = begin3_;
702  ++current2_;
703  }
704  if (current2_ == end2_) {
705  current2_ = begin2_;
706  ++current1_;
707  }
709  }
711  return new Iterator(*this);
712  }
713  const ParamType* Current() const override { return current_value_.get(); }
714  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
715  // Having the same base generator guarantees that the other
716  // iterator is of the same type and we can downcast.
718  << "The program attempted to compare iterators "
719  << "from different generators." << std::endl;
720  const Iterator* typed_other =
721  CheckedDowncastToActualType<const Iterator>(&other);
722  // We must report iterators equal if they both point beyond their
723  // respective ranges. That can happen in a variety of fashions,
724  // so we have to consult AtEnd().
725  return (AtEnd() && typed_other->AtEnd()) ||
726  (
727  current1_ == typed_other->current1_ &&
728  current2_ == typed_other->current2_ &&
729  current3_ == typed_other->current3_ &&
730  current4_ == typed_other->current4_ &&
731  current5_ == typed_other->current5_ &&
732  current6_ == typed_other->current6_);
733  }
734 
735  private:
736  Iterator(const Iterator& other)
737  : base_(other.base_),
738  begin1_(other.begin1_),
739  end1_(other.end1_),
740  current1_(other.current1_),
741  begin2_(other.begin2_),
742  end2_(other.end2_),
743  current2_(other.current2_),
744  begin3_(other.begin3_),
745  end3_(other.end3_),
746  current3_(other.current3_),
747  begin4_(other.begin4_),
748  end4_(other.end4_),
749  current4_(other.current4_),
750  begin5_(other.begin5_),
751  end5_(other.end5_),
752  current5_(other.current5_),
753  begin6_(other.begin6_),
754  end6_(other.end6_),
755  current6_(other.current6_) {
757  }
758 
760  if (!AtEnd())
763  }
764  bool AtEnd() const {
765  // We must report iterator past the end of the range when either of the
766  // component iterators has reached the end of its range.
767  return
768  current1_ == end1_ ||
769  current2_ == end2_ ||
770  current3_ == end3_ ||
771  current4_ == end4_ ||
772  current5_ == end5_ ||
773  current6_ == end6_;
774  }
775 
776  // No implementation - assignment is unsupported.
777  void operator=(const Iterator& other);
778 
780  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
781  // current[i]_ is the actual traversing iterator.
800  std::shared_ptr<ParamType> current_value_;
801  }; // class CartesianProductGenerator6::Iterator
802 
803  // No implementation - assignment is unsupported.
804  void operator=(const CartesianProductGenerator6& other);
805 
812 }; // class CartesianProductGenerator6
813 
814 
815 template <typename T1, typename T2, typename T3, typename T4, typename T5,
816  typename T6, typename T7>
818  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6,
819  T7> > {
820  public:
821  typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType;
822 
824  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
825  const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5,
826  const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7)
827  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {}
829 
831  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
832  g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_,
833  g7_.begin());
834  }
836  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
837  g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end());
838  }
839 
840  private:
841  class Iterator : public ParamIteratorInterface<ParamType> {
842  public:
844  const ParamGenerator<T1>& g1,
845  const typename ParamGenerator<T1>::iterator& current1,
846  const ParamGenerator<T2>& g2,
847  const typename ParamGenerator<T2>::iterator& current2,
848  const ParamGenerator<T3>& g3,
849  const typename ParamGenerator<T3>::iterator& current3,
850  const ParamGenerator<T4>& g4,
851  const typename ParamGenerator<T4>::iterator& current4,
852  const ParamGenerator<T5>& g5,
853  const typename ParamGenerator<T5>::iterator& current5,
854  const ParamGenerator<T6>& g6,
855  const typename ParamGenerator<T6>::iterator& current6,
856  const ParamGenerator<T7>& g7,
857  const typename ParamGenerator<T7>::iterator& current7)
858  : base_(base),
859  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
860  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
861  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
862  begin4_(g4.begin()), end4_(g4.end()), current4_(current4),
863  begin5_(g5.begin()), end5_(g5.end()), current5_(current5),
864  begin6_(g6.begin()), end6_(g6.end()), current6_(current6),
865  begin7_(g7.begin()), end7_(g7.end()), current7_(current7) {
867  }
868  ~Iterator() override {}
869 
871  return base_;
872  }
873  // Advance should not be called on beyond-of-range iterators
874  // so no component iterators must be beyond end of range, either.
875  void Advance() override {
876  assert(!AtEnd());
877  ++current7_;
878  if (current7_ == end7_) {
879  current7_ = begin7_;
880  ++current6_;
881  }
882  if (current6_ == end6_) {
883  current6_ = begin6_;
884  ++current5_;
885  }
886  if (current5_ == end5_) {
887  current5_ = begin5_;
888  ++current4_;
889  }
890  if (current4_ == end4_) {
891  current4_ = begin4_;
892  ++current3_;
893  }
894  if (current3_ == end3_) {
895  current3_ = begin3_;
896  ++current2_;
897  }
898  if (current2_ == end2_) {
899  current2_ = begin2_;
900  ++current1_;
901  }
903  }
905  return new Iterator(*this);
906  }
907  const ParamType* Current() const override { return current_value_.get(); }
908  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
909  // Having the same base generator guarantees that the other
910  // iterator is of the same type and we can downcast.
912  << "The program attempted to compare iterators "
913  << "from different generators." << std::endl;
914  const Iterator* typed_other =
915  CheckedDowncastToActualType<const Iterator>(&other);
916  // We must report iterators equal if they both point beyond their
917  // respective ranges. That can happen in a variety of fashions,
918  // so we have to consult AtEnd().
919  return (AtEnd() && typed_other->AtEnd()) ||
920  (
921  current1_ == typed_other->current1_ &&
922  current2_ == typed_other->current2_ &&
923  current3_ == typed_other->current3_ &&
924  current4_ == typed_other->current4_ &&
925  current5_ == typed_other->current5_ &&
926  current6_ == typed_other->current6_ &&
927  current7_ == typed_other->current7_);
928  }
929 
930  private:
931  Iterator(const Iterator& other)
932  : base_(other.base_),
933  begin1_(other.begin1_),
934  end1_(other.end1_),
935  current1_(other.current1_),
936  begin2_(other.begin2_),
937  end2_(other.end2_),
938  current2_(other.current2_),
939  begin3_(other.begin3_),
940  end3_(other.end3_),
941  current3_(other.current3_),
942  begin4_(other.begin4_),
943  end4_(other.end4_),
944  current4_(other.current4_),
945  begin5_(other.begin5_),
946  end5_(other.end5_),
947  current5_(other.current5_),
948  begin6_(other.begin6_),
949  end6_(other.end6_),
950  current6_(other.current6_),
951  begin7_(other.begin7_),
952  end7_(other.end7_),
953  current7_(other.current7_) {
955  }
956 
958  if (!AtEnd())
961  }
962  bool AtEnd() const {
963  // We must report iterator past the end of the range when either of the
964  // component iterators has reached the end of its range.
965  return
966  current1_ == end1_ ||
967  current2_ == end2_ ||
968  current3_ == end3_ ||
969  current4_ == end4_ ||
970  current5_ == end5_ ||
971  current6_ == end6_ ||
972  current7_ == end7_;
973  }
974 
975  // No implementation - assignment is unsupported.
976  void operator=(const Iterator& other);
977 
979  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
980  // current[i]_ is the actual traversing iterator.
1002  std::shared_ptr<ParamType> current_value_;
1003  }; // class CartesianProductGenerator7::Iterator
1004 
1005  // No implementation - assignment is unsupported.
1006  void operator=(const CartesianProductGenerator7& other);
1007 
1015 }; // class CartesianProductGenerator7
1016 
1017 
1018 template <typename T1, typename T2, typename T3, typename T4, typename T5,
1019  typename T6, typename T7, typename T8>
1021  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, T7,
1022  T8> > {
1023  public:
1024  typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType;
1025 
1027  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
1028  const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5,
1029  const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7,
1030  const ParamGenerator<T8>& g8)
1031  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7),
1032  g8_(g8) {}
1034 
1036  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
1037  g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_,
1038  g7_.begin(), g8_, g8_.begin());
1039  }
1041  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
1042  g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_,
1043  g8_.end());
1044  }
1045 
1046  private:
1047  class Iterator : public ParamIteratorInterface<ParamType> {
1048  public:
1050  const ParamGenerator<T1>& g1,
1051  const typename ParamGenerator<T1>::iterator& current1,
1052  const ParamGenerator<T2>& g2,
1053  const typename ParamGenerator<T2>::iterator& current2,
1054  const ParamGenerator<T3>& g3,
1055  const typename ParamGenerator<T3>::iterator& current3,
1056  const ParamGenerator<T4>& g4,
1057  const typename ParamGenerator<T4>::iterator& current4,
1058  const ParamGenerator<T5>& g5,
1059  const typename ParamGenerator<T5>::iterator& current5,
1060  const ParamGenerator<T6>& g6,
1061  const typename ParamGenerator<T6>::iterator& current6,
1062  const ParamGenerator<T7>& g7,
1063  const typename ParamGenerator<T7>::iterator& current7,
1064  const ParamGenerator<T8>& g8,
1065  const typename ParamGenerator<T8>::iterator& current8)
1066  : base_(base),
1067  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
1068  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
1069  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
1070  begin4_(g4.begin()), end4_(g4.end()), current4_(current4),
1071  begin5_(g5.begin()), end5_(g5.end()), current5_(current5),
1072  begin6_(g6.begin()), end6_(g6.end()), current6_(current6),
1073  begin7_(g7.begin()), end7_(g7.end()), current7_(current7),
1074  begin8_(g8.begin()), end8_(g8.end()), current8_(current8) {
1076  }
1077  ~Iterator() override {}
1078 
1080  return base_;
1081  }
1082  // Advance should not be called on beyond-of-range iterators
1083  // so no component iterators must be beyond end of range, either.
1084  void Advance() override {
1085  assert(!AtEnd());
1086  ++current8_;
1087  if (current8_ == end8_) {
1088  current8_ = begin8_;
1089  ++current7_;
1090  }
1091  if (current7_ == end7_) {
1092  current7_ = begin7_;
1093  ++current6_;
1094  }
1095  if (current6_ == end6_) {
1096  current6_ = begin6_;
1097  ++current5_;
1098  }
1099  if (current5_ == end5_) {
1100  current5_ = begin5_;
1101  ++current4_;
1102  }
1103  if (current4_ == end4_) {
1104  current4_ = begin4_;
1105  ++current3_;
1106  }
1107  if (current3_ == end3_) {
1108  current3_ = begin3_;
1109  ++current2_;
1110  }
1111  if (current2_ == end2_) {
1112  current2_ = begin2_;
1113  ++current1_;
1114  }
1116  }
1118  return new Iterator(*this);
1119  }
1120  const ParamType* Current() const override { return current_value_.get(); }
1121  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
1122  // Having the same base generator guarantees that the other
1123  // iterator is of the same type and we can downcast.
1125  << "The program attempted to compare iterators "
1126  << "from different generators." << std::endl;
1127  const Iterator* typed_other =
1128  CheckedDowncastToActualType<const Iterator>(&other);
1129  // We must report iterators equal if they both point beyond their
1130  // respective ranges. That can happen in a variety of fashions,
1131  // so we have to consult AtEnd().
1132  return (AtEnd() && typed_other->AtEnd()) ||
1133  (
1134  current1_ == typed_other->current1_ &&
1135  current2_ == typed_other->current2_ &&
1136  current3_ == typed_other->current3_ &&
1137  current4_ == typed_other->current4_ &&
1138  current5_ == typed_other->current5_ &&
1139  current6_ == typed_other->current6_ &&
1140  current7_ == typed_other->current7_ &&
1141  current8_ == typed_other->current8_);
1142  }
1143 
1144  private:
1145  Iterator(const Iterator& other)
1146  : base_(other.base_),
1147  begin1_(other.begin1_),
1148  end1_(other.end1_),
1149  current1_(other.current1_),
1150  begin2_(other.begin2_),
1151  end2_(other.end2_),
1152  current2_(other.current2_),
1153  begin3_(other.begin3_),
1154  end3_(other.end3_),
1155  current3_(other.current3_),
1156  begin4_(other.begin4_),
1157  end4_(other.end4_),
1158  current4_(other.current4_),
1159  begin5_(other.begin5_),
1160  end5_(other.end5_),
1161  current5_(other.current5_),
1162  begin6_(other.begin6_),
1163  end6_(other.end6_),
1164  current6_(other.current6_),
1165  begin7_(other.begin7_),
1166  end7_(other.end7_),
1167  current7_(other.current7_),
1168  begin8_(other.begin8_),
1169  end8_(other.end8_),
1170  current8_(other.current8_) {
1172  }
1173 
1175  if (!AtEnd())
1178  }
1179  bool AtEnd() const {
1180  // We must report iterator past the end of the range when either of the
1181  // component iterators has reached the end of its range.
1182  return
1183  current1_ == end1_ ||
1184  current2_ == end2_ ||
1185  current3_ == end3_ ||
1186  current4_ == end4_ ||
1187  current5_ == end5_ ||
1188  current6_ == end6_ ||
1189  current7_ == end7_ ||
1190  current8_ == end8_;
1191  }
1192 
1193  // No implementation - assignment is unsupported.
1194  void operator=(const Iterator& other);
1195 
1197  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
1198  // current[i]_ is the actual traversing iterator.
1223  std::shared_ptr<ParamType> current_value_;
1224  }; // class CartesianProductGenerator8::Iterator
1225 
1226  // No implementation - assignment is unsupported.
1227  void operator=(const CartesianProductGenerator8& other);
1228 
1237 }; // class CartesianProductGenerator8
1238 
1239 
1240 template <typename T1, typename T2, typename T3, typename T4, typename T5,
1241  typename T6, typename T7, typename T8, typename T9>
1243  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, T7,
1244  T8, T9> > {
1245  public:
1246  typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType;
1247 
1249  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
1250  const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5,
1251  const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7,
1252  const ParamGenerator<T8>& g8, const ParamGenerator<T9>& g9)
1253  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8),
1254  g9_(g9) {}
1256 
1258  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
1259  g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_,
1260  g7_.begin(), g8_, g8_.begin(), g9_, g9_.begin());
1261  }
1263  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
1264  g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_,
1265  g8_.end(), g9_, g9_.end());
1266  }
1267 
1268  private:
1269  class Iterator : public ParamIteratorInterface<ParamType> {
1270  public:
1272  const ParamGenerator<T1>& g1,
1273  const typename ParamGenerator<T1>::iterator& current1,
1274  const ParamGenerator<T2>& g2,
1275  const typename ParamGenerator<T2>::iterator& current2,
1276  const ParamGenerator<T3>& g3,
1277  const typename ParamGenerator<T3>::iterator& current3,
1278  const ParamGenerator<T4>& g4,
1279  const typename ParamGenerator<T4>::iterator& current4,
1280  const ParamGenerator<T5>& g5,
1281  const typename ParamGenerator<T5>::iterator& current5,
1282  const ParamGenerator<T6>& g6,
1283  const typename ParamGenerator<T6>::iterator& current6,
1284  const ParamGenerator<T7>& g7,
1285  const typename ParamGenerator<T7>::iterator& current7,
1286  const ParamGenerator<T8>& g8,
1287  const typename ParamGenerator<T8>::iterator& current8,
1288  const ParamGenerator<T9>& g9,
1289  const typename ParamGenerator<T9>::iterator& current9)
1290  : base_(base),
1291  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
1292  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
1293  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
1294  begin4_(g4.begin()), end4_(g4.end()), current4_(current4),
1295  begin5_(g5.begin()), end5_(g5.end()), current5_(current5),
1296  begin6_(g6.begin()), end6_(g6.end()), current6_(current6),
1297  begin7_(g7.begin()), end7_(g7.end()), current7_(current7),
1298  begin8_(g8.begin()), end8_(g8.end()), current8_(current8),
1299  begin9_(g9.begin()), end9_(g9.end()), current9_(current9) {
1301  }
1302  ~Iterator() override {}
1303 
1305  return base_;
1306  }
1307  // Advance should not be called on beyond-of-range iterators
1308  // so no component iterators must be beyond end of range, either.
1309  void Advance() override {
1310  assert(!AtEnd());
1311  ++current9_;
1312  if (current9_ == end9_) {
1313  current9_ = begin9_;
1314  ++current8_;
1315  }
1316  if (current8_ == end8_) {
1317  current8_ = begin8_;
1318  ++current7_;
1319  }
1320  if (current7_ == end7_) {
1321  current7_ = begin7_;
1322  ++current6_;
1323  }
1324  if (current6_ == end6_) {
1325  current6_ = begin6_;
1326  ++current5_;
1327  }
1328  if (current5_ == end5_) {
1329  current5_ = begin5_;
1330  ++current4_;
1331  }
1332  if (current4_ == end4_) {
1333  current4_ = begin4_;
1334  ++current3_;
1335  }
1336  if (current3_ == end3_) {
1337  current3_ = begin3_;
1338  ++current2_;
1339  }
1340  if (current2_ == end2_) {
1341  current2_ = begin2_;
1342  ++current1_;
1343  }
1345  }
1347  return new Iterator(*this);
1348  }
1349  const ParamType* Current() const override { return current_value_.get(); }
1350  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
1351  // Having the same base generator guarantees that the other
1352  // iterator is of the same type and we can downcast.
1354  << "The program attempted to compare iterators "
1355  << "from different generators." << std::endl;
1356  const Iterator* typed_other =
1357  CheckedDowncastToActualType<const Iterator>(&other);
1358  // We must report iterators equal if they both point beyond their
1359  // respective ranges. That can happen in a variety of fashions,
1360  // so we have to consult AtEnd().
1361  return (AtEnd() && typed_other->AtEnd()) ||
1362  (
1363  current1_ == typed_other->current1_ &&
1364  current2_ == typed_other->current2_ &&
1365  current3_ == typed_other->current3_ &&
1366  current4_ == typed_other->current4_ &&
1367  current5_ == typed_other->current5_ &&
1368  current6_ == typed_other->current6_ &&
1369  current7_ == typed_other->current7_ &&
1370  current8_ == typed_other->current8_ &&
1371  current9_ == typed_other->current9_);
1372  }
1373 
1374  private:
1375  Iterator(const Iterator& other)
1376  : base_(other.base_),
1377  begin1_(other.begin1_),
1378  end1_(other.end1_),
1379  current1_(other.current1_),
1380  begin2_(other.begin2_),
1381  end2_(other.end2_),
1382  current2_(other.current2_),
1383  begin3_(other.begin3_),
1384  end3_(other.end3_),
1385  current3_(other.current3_),
1386  begin4_(other.begin4_),
1387  end4_(other.end4_),
1388  current4_(other.current4_),
1389  begin5_(other.begin5_),
1390  end5_(other.end5_),
1391  current5_(other.current5_),
1392  begin6_(other.begin6_),
1393  end6_(other.end6_),
1394  current6_(other.current6_),
1395  begin7_(other.begin7_),
1396  end7_(other.end7_),
1397  current7_(other.current7_),
1398  begin8_(other.begin8_),
1399  end8_(other.end8_),
1400  current8_(other.current8_),
1401  begin9_(other.begin9_),
1402  end9_(other.end9_),
1403  current9_(other.current9_) {
1405  }
1406 
1408  if (!AtEnd())
1411  *current9_));
1412  }
1413  bool AtEnd() const {
1414  // We must report iterator past the end of the range when either of the
1415  // component iterators has reached the end of its range.
1416  return
1417  current1_ == end1_ ||
1418  current2_ == end2_ ||
1419  current3_ == end3_ ||
1420  current4_ == end4_ ||
1421  current5_ == end5_ ||
1422  current6_ == end6_ ||
1423  current7_ == end7_ ||
1424  current8_ == end8_ ||
1425  current9_ == end9_;
1426  }
1427 
1428  // No implementation - assignment is unsupported.
1429  void operator=(const Iterator& other);
1430 
1432  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
1433  // current[i]_ is the actual traversing iterator.
1461  std::shared_ptr<ParamType> current_value_;
1462  }; // class CartesianProductGenerator9::Iterator
1463 
1464  // No implementation - assignment is unsupported.
1465  void operator=(const CartesianProductGenerator9& other);
1466 
1476 }; // class CartesianProductGenerator9
1477 
1478 
1479 template <typename T1, typename T2, typename T3, typename T4, typename T5,
1480  typename T6, typename T7, typename T8, typename T9, typename T10>
1482  : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6, T7,
1483  T8, T9, T10> > {
1484  public:
1485  typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType;
1486 
1488  const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
1489  const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5,
1490  const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7,
1491  const ParamGenerator<T8>& g8, const ParamGenerator<T9>& g9,
1492  const ParamGenerator<T10>& g10)
1493  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8),
1494  g9_(g9), g10_(g10) {}
1496 
1498  return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_,
1499  g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_,
1500  g7_.begin(), g8_, g8_.begin(), g9_, g9_.begin(), g10_, g10_.begin());
1501  }
1503  return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(),
1504  g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_,
1505  g8_.end(), g9_, g9_.end(), g10_, g10_.end());
1506  }
1507 
1508  private:
1509  class Iterator : public ParamIteratorInterface<ParamType> {
1510  public:
1512  const ParamGenerator<T1>& g1,
1513  const typename ParamGenerator<T1>::iterator& current1,
1514  const ParamGenerator<T2>& g2,
1515  const typename ParamGenerator<T2>::iterator& current2,
1516  const ParamGenerator<T3>& g3,
1517  const typename ParamGenerator<T3>::iterator& current3,
1518  const ParamGenerator<T4>& g4,
1519  const typename ParamGenerator<T4>::iterator& current4,
1520  const ParamGenerator<T5>& g5,
1521  const typename ParamGenerator<T5>::iterator& current5,
1522  const ParamGenerator<T6>& g6,
1523  const typename ParamGenerator<T6>::iterator& current6,
1524  const ParamGenerator<T7>& g7,
1525  const typename ParamGenerator<T7>::iterator& current7,
1526  const ParamGenerator<T8>& g8,
1527  const typename ParamGenerator<T8>::iterator& current8,
1528  const ParamGenerator<T9>& g9,
1529  const typename ParamGenerator<T9>::iterator& current9,
1530  const ParamGenerator<T10>& g10,
1531  const typename ParamGenerator<T10>::iterator& current10)
1532  : base_(base),
1533  begin1_(g1.begin()), end1_(g1.end()), current1_(current1),
1534  begin2_(g2.begin()), end2_(g2.end()), current2_(current2),
1535  begin3_(g3.begin()), end3_(g3.end()), current3_(current3),
1536  begin4_(g4.begin()), end4_(g4.end()), current4_(current4),
1537  begin5_(g5.begin()), end5_(g5.end()), current5_(current5),
1538  begin6_(g6.begin()), end6_(g6.end()), current6_(current6),
1539  begin7_(g7.begin()), end7_(g7.end()), current7_(current7),
1540  begin8_(g8.begin()), end8_(g8.end()), current8_(current8),
1541  begin9_(g9.begin()), end9_(g9.end()), current9_(current9),
1542  begin10_(g10.begin()), end10_(g10.end()), current10_(current10) {
1544  }
1545  ~Iterator() override {}
1546 
1548  return base_;
1549  }
1550  // Advance should not be called on beyond-of-range iterators
1551  // so no component iterators must be beyond end of range, either.
1552  void Advance() override {
1553  assert(!AtEnd());
1554  ++current10_;
1555  if (current10_ == end10_) {
1556  current10_ = begin10_;
1557  ++current9_;
1558  }
1559  if (current9_ == end9_) {
1560  current9_ = begin9_;
1561  ++current8_;
1562  }
1563  if (current8_ == end8_) {
1564  current8_ = begin8_;
1565  ++current7_;
1566  }
1567  if (current7_ == end7_) {
1568  current7_ = begin7_;
1569  ++current6_;
1570  }
1571  if (current6_ == end6_) {
1572  current6_ = begin6_;
1573  ++current5_;
1574  }
1575  if (current5_ == end5_) {
1576  current5_ = begin5_;
1577  ++current4_;
1578  }
1579  if (current4_ == end4_) {
1580  current4_ = begin4_;
1581  ++current3_;
1582  }
1583  if (current3_ == end3_) {
1584  current3_ = begin3_;
1585  ++current2_;
1586  }
1587  if (current2_ == end2_) {
1588  current2_ = begin2_;
1589  ++current1_;
1590  }
1592  }
1594  return new Iterator(*this);
1595  }
1596  const ParamType* Current() const override { return current_value_.get(); }
1597  bool Equals(const ParamIteratorInterface<ParamType>& other) const override {
1598  // Having the same base generator guarantees that the other
1599  // iterator is of the same type and we can downcast.
1601  << "The program attempted to compare iterators "
1602  << "from different generators." << std::endl;
1603  const Iterator* typed_other =
1604  CheckedDowncastToActualType<const Iterator>(&other);
1605  // We must report iterators equal if they both point beyond their
1606  // respective ranges. That can happen in a variety of fashions,
1607  // so we have to consult AtEnd().
1608  return (AtEnd() && typed_other->AtEnd()) ||
1609  (
1610  current1_ == typed_other->current1_ &&
1611  current2_ == typed_other->current2_ &&
1612  current3_ == typed_other->current3_ &&
1613  current4_ == typed_other->current4_ &&
1614  current5_ == typed_other->current5_ &&
1615  current6_ == typed_other->current6_ &&
1616  current7_ == typed_other->current7_ &&
1617  current8_ == typed_other->current8_ &&
1618  current9_ == typed_other->current9_ &&
1619  current10_ == typed_other->current10_);
1620  }
1621 
1622  private:
1623  Iterator(const Iterator& other)
1624  : base_(other.base_),
1625  begin1_(other.begin1_),
1626  end1_(other.end1_),
1627  current1_(other.current1_),
1628  begin2_(other.begin2_),
1629  end2_(other.end2_),
1630  current2_(other.current2_),
1631  begin3_(other.begin3_),
1632  end3_(other.end3_),
1633  current3_(other.current3_),
1634  begin4_(other.begin4_),
1635  end4_(other.end4_),
1636  current4_(other.current4_),
1637  begin5_(other.begin5_),
1638  end5_(other.end5_),
1639  current5_(other.current5_),
1640  begin6_(other.begin6_),
1641  end6_(other.end6_),
1642  current6_(other.current6_),
1643  begin7_(other.begin7_),
1644  end7_(other.end7_),
1645  current7_(other.current7_),
1646  begin8_(other.begin8_),
1647  end8_(other.end8_),
1648  current8_(other.current8_),
1649  begin9_(other.begin9_),
1650  end9_(other.end9_),
1651  current9_(other.current9_),
1652  begin10_(other.begin10_),
1653  end10_(other.end10_),
1654  current10_(other.current10_) {
1656  }
1657 
1659  if (!AtEnd())
1662  *current9_, *current10_));
1663  }
1664  bool AtEnd() const {
1665  // We must report iterator past the end of the range when either of the
1666  // component iterators has reached the end of its range.
1667  return
1668  current1_ == end1_ ||
1669  current2_ == end2_ ||
1670  current3_ == end3_ ||
1671  current4_ == end4_ ||
1672  current5_ == end5_ ||
1673  current6_ == end6_ ||
1674  current7_ == end7_ ||
1675  current8_ == end8_ ||
1676  current9_ == end9_ ||
1677  current10_ == end10_;
1678  }
1679 
1680  // No implementation - assignment is unsupported.
1681  void operator=(const Iterator& other);
1682 
1684  // begin[i]_ and end[i]_ define the i-th range that Iterator traverses.
1685  // current[i]_ is the actual traversing iterator.
1716  std::shared_ptr<ParamType> current_value_;
1717  }; // class CartesianProductGenerator10::Iterator
1718 
1719  // No implementation - assignment is unsupported.
1720  void operator=(const CartesianProductGenerator10& other);
1721 
1732 }; // class CartesianProductGenerator10
1733 
1734 
1735 // INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
1736 //
1737 // Helper classes providing Combine() with polymorphic features. They allow
1738 // casting CartesianProductGeneratorN<T> to ParamGenerator<U> if T is
1739 // convertible to U.
1740 //
1741 template <class Generator1, class Generator2>
1743  public:
1744 CartesianProductHolder2(const Generator1& g1, const Generator2& g2)
1745  : g1_(g1), g2_(g2) {}
1746  template <typename T1, typename T2>
1750  static_cast<ParamGenerator<T1> >(g1_),
1751  static_cast<ParamGenerator<T2> >(g2_)));
1752  }
1753 
1754  private:
1755  // No implementation - assignment is unsupported.
1756  void operator=(const CartesianProductHolder2& other);
1757 
1758  const Generator1 g1_;
1759  const Generator2 g2_;
1760 }; // class CartesianProductHolder2
1761 
1762 template <class Generator1, class Generator2, class Generator3>
1764  public:
1765 CartesianProductHolder3(const Generator1& g1, const Generator2& g2,
1766  const Generator3& g3)
1767  : g1_(g1), g2_(g2), g3_(g3) {}
1768  template <typename T1, typename T2, typename T3>
1772  static_cast<ParamGenerator<T1> >(g1_),
1773  static_cast<ParamGenerator<T2> >(g2_),
1774  static_cast<ParamGenerator<T3> >(g3_)));
1775  }
1776 
1777  private:
1778  // No implementation - assignment is unsupported.
1779  void operator=(const CartesianProductHolder3& other);
1780 
1781  const Generator1 g1_;
1782  const Generator2 g2_;
1783  const Generator3 g3_;
1784 }; // class CartesianProductHolder3
1785 
1786 template <class Generator1, class Generator2, class Generator3,
1787  class Generator4>
1789  public:
1790 CartesianProductHolder4(const Generator1& g1, const Generator2& g2,
1791  const Generator3& g3, const Generator4& g4)
1792  : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {}
1793  template <typename T1, typename T2, typename T3, typename T4>
1797  static_cast<ParamGenerator<T1> >(g1_),
1798  static_cast<ParamGenerator<T2> >(g2_),
1799  static_cast<ParamGenerator<T3> >(g3_),
1800  static_cast<ParamGenerator<T4> >(g4_)));
1801  }
1802 
1803  private:
1804  // No implementation - assignment is unsupported.
1805  void operator=(const CartesianProductHolder4& other);
1806 
1807  const Generator1 g1_;
1808  const Generator2 g2_;
1809  const Generator3 g3_;
1810  const Generator4 g4_;
1811 }; // class CartesianProductHolder4
1812 
1813 template <class Generator1, class Generator2, class Generator3,
1814  class Generator4, class Generator5>
1816  public:
1817 CartesianProductHolder5(const Generator1& g1, const Generator2& g2,
1818  const Generator3& g3, const Generator4& g4, const Generator5& g5)
1819  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {}
1820  template <typename T1, typename T2, typename T3, typename T4, typename T5>
1824  static_cast<ParamGenerator<T1> >(g1_),
1825  static_cast<ParamGenerator<T2> >(g2_),
1826  static_cast<ParamGenerator<T3> >(g3_),
1827  static_cast<ParamGenerator<T4> >(g4_),
1828  static_cast<ParamGenerator<T5> >(g5_)));
1829  }
1830 
1831  private:
1832  // No implementation - assignment is unsupported.
1833  void operator=(const CartesianProductHolder5& other);
1834 
1835  const Generator1 g1_;
1836  const Generator2 g2_;
1837  const Generator3 g3_;
1838  const Generator4 g4_;
1839  const Generator5 g5_;
1840 }; // class CartesianProductHolder5
1841 
1842 template <class Generator1, class Generator2, class Generator3,
1843  class Generator4, class Generator5, class Generator6>
1845  public:
1846 CartesianProductHolder6(const Generator1& g1, const Generator2& g2,
1847  const Generator3& g3, const Generator4& g4, const Generator5& g5,
1848  const Generator6& g6)
1849  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {}
1850  template <typename T1, typename T2, typename T3, typename T4, typename T5,
1851  typename T6>
1855  static_cast<ParamGenerator<T1> >(g1_),
1856  static_cast<ParamGenerator<T2> >(g2_),
1857  static_cast<ParamGenerator<T3> >(g3_),
1858  static_cast<ParamGenerator<T4> >(g4_),
1859  static_cast<ParamGenerator<T5> >(g5_),
1860  static_cast<ParamGenerator<T6> >(g6_)));
1861  }
1862 
1863  private:
1864  // No implementation - assignment is unsupported.
1865  void operator=(const CartesianProductHolder6& other);
1866 
1867  const Generator1 g1_;
1868  const Generator2 g2_;
1869  const Generator3 g3_;
1870  const Generator4 g4_;
1871  const Generator5 g5_;
1872  const Generator6 g6_;
1873 }; // class CartesianProductHolder6
1874 
1875 template <class Generator1, class Generator2, class Generator3,
1876  class Generator4, class Generator5, class Generator6, class Generator7>
1878  public:
1879 CartesianProductHolder7(const Generator1& g1, const Generator2& g2,
1880  const Generator3& g3, const Generator4& g4, const Generator5& g5,
1881  const Generator6& g6, const Generator7& g7)
1882  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {}
1883  template <typename T1, typename T2, typename T3, typename T4, typename T5,
1884  typename T6, typename T7>
1888  static_cast<ParamGenerator<T1> >(g1_),
1889  static_cast<ParamGenerator<T2> >(g2_),
1890  static_cast<ParamGenerator<T3> >(g3_),
1891  static_cast<ParamGenerator<T4> >(g4_),
1892  static_cast<ParamGenerator<T5> >(g5_),
1893  static_cast<ParamGenerator<T6> >(g6_),
1894  static_cast<ParamGenerator<T7> >(g7_)));
1895  }
1896 
1897  private:
1898  // No implementation - assignment is unsupported.
1899  void operator=(const CartesianProductHolder7& other);
1900 
1901  const Generator1 g1_;
1902  const Generator2 g2_;
1903  const Generator3 g3_;
1904  const Generator4 g4_;
1905  const Generator5 g5_;
1906  const Generator6 g6_;
1907  const Generator7 g7_;
1908 }; // class CartesianProductHolder7
1909 
1910 template <class Generator1, class Generator2, class Generator3,
1911  class Generator4, class Generator5, class Generator6, class Generator7,
1912  class Generator8>
1914  public:
1915 CartesianProductHolder8(const Generator1& g1, const Generator2& g2,
1916  const Generator3& g3, const Generator4& g4, const Generator5& g5,
1917  const Generator6& g6, const Generator7& g7, const Generator8& g8)
1918  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7),
1919  g8_(g8) {}
1920  template <typename T1, typename T2, typename T3, typename T4, typename T5,
1921  typename T6, typename T7, typename T8>
1922  operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7,
1923  T8> >() const {
1926  static_cast<ParamGenerator<T1> >(g1_),
1927  static_cast<ParamGenerator<T2> >(g2_),
1928  static_cast<ParamGenerator<T3> >(g3_),
1929  static_cast<ParamGenerator<T4> >(g4_),
1930  static_cast<ParamGenerator<T5> >(g5_),
1931  static_cast<ParamGenerator<T6> >(g6_),
1932  static_cast<ParamGenerator<T7> >(g7_),
1933  static_cast<ParamGenerator<T8> >(g8_)));
1934  }
1935 
1936  private:
1937  // No implementation - assignment is unsupported.
1938  void operator=(const CartesianProductHolder8& other);
1939 
1940  const Generator1 g1_;
1941  const Generator2 g2_;
1942  const Generator3 g3_;
1943  const Generator4 g4_;
1944  const Generator5 g5_;
1945  const Generator6 g6_;
1946  const Generator7 g7_;
1947  const Generator8 g8_;
1948 }; // class CartesianProductHolder8
1949 
1950 template <class Generator1, class Generator2, class Generator3,
1951  class Generator4, class Generator5, class Generator6, class Generator7,
1952  class Generator8, class Generator9>
1954  public:
1955 CartesianProductHolder9(const Generator1& g1, const Generator2& g2,
1956  const Generator3& g3, const Generator4& g4, const Generator5& g5,
1957  const Generator6& g6, const Generator7& g7, const Generator8& g8,
1958  const Generator9& g9)
1959  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8),
1960  g9_(g9) {}
1961  template <typename T1, typename T2, typename T3, typename T4, typename T5,
1962  typename T6, typename T7, typename T8, typename T9>
1963  operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
1964  T9> >() const {
1967  static_cast<ParamGenerator<T1> >(g1_),
1968  static_cast<ParamGenerator<T2> >(g2_),
1969  static_cast<ParamGenerator<T3> >(g3_),
1970  static_cast<ParamGenerator<T4> >(g4_),
1971  static_cast<ParamGenerator<T5> >(g5_),
1972  static_cast<ParamGenerator<T6> >(g6_),
1973  static_cast<ParamGenerator<T7> >(g7_),
1974  static_cast<ParamGenerator<T8> >(g8_),
1975  static_cast<ParamGenerator<T9> >(g9_)));
1976  }
1977 
1978  private:
1979  // No implementation - assignment is unsupported.
1980  void operator=(const CartesianProductHolder9& other);
1981 
1982  const Generator1 g1_;
1983  const Generator2 g2_;
1984  const Generator3 g3_;
1985  const Generator4 g4_;
1986  const Generator5 g5_;
1987  const Generator6 g6_;
1988  const Generator7 g7_;
1989  const Generator8 g8_;
1990  const Generator9 g9_;
1991 }; // class CartesianProductHolder9
1992 
1993 template <class Generator1, class Generator2, class Generator3,
1994  class Generator4, class Generator5, class Generator6, class Generator7,
1995  class Generator8, class Generator9, class Generator10>
1997  public:
1998 CartesianProductHolder10(const Generator1& g1, const Generator2& g2,
1999  const Generator3& g3, const Generator4& g4, const Generator5& g5,
2000  const Generator6& g6, const Generator7& g7, const Generator8& g8,
2001  const Generator9& g9, const Generator10& g10)
2002  : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8),
2003  g9_(g9), g10_(g10) {}
2004  template <typename T1, typename T2, typename T3, typename T4, typename T5,
2005  typename T6, typename T7, typename T8, typename T9, typename T10>
2006  operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9,
2007  T10> >() const {
2008  return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9,
2009  T10> >(
2010  new CartesianProductGenerator10<T1, T2, T3, T4, T5, T6, T7, T8, T9,
2011  T10>(
2012  static_cast<ParamGenerator<T1> >(g1_),
2013  static_cast<ParamGenerator<T2> >(g2_),
2014  static_cast<ParamGenerator<T3> >(g3_),
2015  static_cast<ParamGenerator<T4> >(g4_),
2016  static_cast<ParamGenerator<T5> >(g5_),
2017  static_cast<ParamGenerator<T6> >(g6_),
2018  static_cast<ParamGenerator<T7> >(g7_),
2019  static_cast<ParamGenerator<T8> >(g8_),
2020  static_cast<ParamGenerator<T9> >(g9_),
2021  static_cast<ParamGenerator<T10> >(g10_)));
2022  }
2023 
2024  private:
2025  // No implementation - assignment is unsupported.
2026  void operator=(const CartesianProductHolder10& other);
2027 
2028  const Generator1 g1_;
2029  const Generator2 g2_;
2030  const Generator3 g3_;
2031  const Generator4 g4_;
2032  const Generator5 g5_;
2033  const Generator6 g6_;
2034  const Generator7 g7_;
2035  const Generator8 g8_;
2036  const Generator9 g9_;
2037  const Generator10 g10_;
2038 }; // class CartesianProductHolder10
2039 
2040 } // namespace internal
2041 } // namespace testing
2042 
2043 #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
testing::internal::CartesianProductGenerator6::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:783
testing::internal::CartesianProductGenerator9::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:1304
testing::internal::CartesianProductGenerator6::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:800
testing::internal::CartesianProductGenerator8::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:1210
testing::internal::ParamGenerator< T1 >
testing::internal::CartesianProductHolder8::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:1943
testing::internal::CartesianProductGenerator7::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:981
testing::internal::CartesianProductHolder8::operator=
void operator=(const CartesianProductHolder8 &other)
testing::internal::CartesianProductGenerator8::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:1196
testing::internal::CartesianProductHolder6::operator=
void operator=(const CartesianProductHolder6 &other)
testing::internal::CartesianProductHolder5
Definition: gtest-param-util-generated.h:1815
testing::internal::CartesianProductGenerator5::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:508
testing::internal::CartesianProductGenerator2::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:115
testing
Definition: gmock-actions.h:59
testing::internal::CartesianProductGenerator9::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4, const ParamGenerator< T5 > &g5, const typename ParamGenerator< T5 >::iterator &current5, const ParamGenerator< T6 > &g6, const typename ParamGenerator< T6 >::iterator &current6, const ParamGenerator< T7 > &g7, const typename ParamGenerator< T7 >::iterator &current7, const ParamGenerator< T8 > &g8, const typename ParamGenerator< T8 >::iterator &current8, const ParamGenerator< T9 > &g9, const typename ParamGenerator< T9 >::iterator &current9)
Definition: gtest-param-util-generated.h:1271
testing::internal::CartesianProductGenerator4::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:450
testing::internal::CartesianProductGenerator7::~CartesianProductGenerator7
~CartesianProductGenerator7() override
Definition: gtest-param-util-generated.h:828
testing::internal::CartesianProductGenerator5::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:513
testing::internal::CartesianProductGenerator5::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:534
testing::internal::CartesianProductGenerator5::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:611
testing::internal::CartesianProductGenerator3::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:288
testing::internal::CartesianProductGenerator7::Iterator::begin7_
const ParamGenerator< T7 >::iterator begin7_
Definition: gtest-param-util-generated.h:999
testing::internal::CartesianProductGenerator6::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:809
testing::internal::CartesianProductGenerator4::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:441
testing::internal::CartesianProductGenerator8::Iterator::current6_
ParamGenerator< T6 >::iterator current6_
Definition: gtest-param-util-generated.h:1216
testing::internal::CartesianProductGenerator6::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:789
testing::internal::CartesianProductGenerator6::Iterator::begin5_
const ParamGenerator< T5 >::iterator begin5_
Definition: gtest-param-util-generated.h:794
testing::internal::CartesianProductGenerator10::Iterator::end8_
const ParamGenerator< T8 >::iterator end8_
Definition: gtest-param-util-generated.h:1708
testing::internal::CartesianProductGenerator4::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:440
testing::internal::CartesianProductGenerator7::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:992
testing::internal::CartesianProductHolder3::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1781
testing::internal::CartesianProductGenerator7::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:988
testing::internal::CartesianProductGenerator9::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:1468
testing::internal::CartesianProductGenerator5::g5_
const ParamGenerator< T5 > g5_
Definition: gtest-param-util-generated.h:626
testing::internal::CartesianProductGenerator9::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:1444
testing::internal::CartesianProductGenerator9::Iterator
Definition: gtest-param-util-generated.h:1269
testing::internal::CartesianProductGenerator5::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator8::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:1199
testing::internal::CartesianProductGenerator9::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:1441
testing::internal::CartesianProductGenerator10::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:1623
testing::internal::CartesianProductGenerator8::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:1205
testing::internal::CartesianProductGenerator4::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:456
testing::internal::CartesianProductHolder9::CartesianProductHolder9
CartesianProductHolder9(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4, const Generator5 &g5, const Generator6 &g6, const Generator7 &g7, const Generator8 &g8, const Generator9 &g9)
Definition: gtest-param-util-generated.h:1955
testing::internal::CartesianProductGenerator8::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:1208
testing::internal::CartesianProductGenerator10::Iterator::begin8_
const ParamGenerator< T8 >::iterator begin8_
Definition: gtest-param-util-generated.h:1707
testing::internal::CartesianProductGenerator4::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:457
testing::internal::CartesianProductGenerator6::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:808
testing::internal::CartesianProductGenerator10::Iterator::begin6_
const ParamGenerator< T6 >::iterator begin6_
Definition: gtest-param-util-generated.h:1701
testing::internal::CartesianProductHolder5::operator=
void operator=(const CartesianProductHolder5 &other)
testing::internal::CartesianProductGenerator7::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:984
end
GLuint GLuint end
Definition: glcorearb.h:2858
testing::internal::CartesianProductGenerator6::operator=
void operator=(const CartesianProductGenerator6 &other)
testing::internal::CartesianProductGenerator7::Iterator::end5_
const ParamGenerator< T5 >::iterator end5_
Definition: gtest-param-util-generated.h:994
testing::internal::CartesianProductGenerator10::Iterator::current9_
ParamGenerator< T9 >::iterator current9_
Definition: gtest-param-util-generated.h:1712
testing::internal::CartesianProductGenerator7::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:868
testing::internal::CartesianProductGenerator6::Iterator::end6_
const ParamGenerator< T6 >::iterator end6_
Definition: gtest-param-util-generated.h:798
testing::internal::CartesianProductGenerator3::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:298
testing::internal::CartesianProductGenerator10::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:1502
testing::internal::CartesianProductGenerator10::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:1689
testing::internal::CartesianProductHolder6::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1867
testing::internal::CartesianProductGenerator5::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:475
testing::internal::CartesianProductGenerator5::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:616
testing::internal::CartesianProductGenerator6::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:807
testing::internal::CartesianProductGenerator2::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:112
testing::internal::CartesianProductGenerator6::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:714
testing::internal::CartesianProductGenerator9::g5_
const ParamGenerator< T5 > g5_
Definition: gtest-param-util-generated.h:1471
testing::internal::CartesianProductGenerator9::Iterator::end7_
const ParamGenerator< T7 >::iterator end7_
Definition: gtest-param-util-generated.h:1453
testing::internal::CartesianProductGenerator8::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:1120
testing::internal::CartesianProductGenerator10::Iterator::begin5_
const ParamGenerator< T5 >::iterator begin5_
Definition: gtest-param-util-generated.h:1698
testing::internal::CartesianProductGenerator10::~CartesianProductGenerator10
~CartesianProductGenerator10() override
Definition: gtest-param-util-generated.h:1495
testing::internal::CartesianProductGenerator5::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:608
testing::internal::CartesianProductGenerator3::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:293
testing::internal::CartesianProductGenerator4::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:417
testing::internal::CartesianProductGenerator10::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:1596
testing::internal::CartesianProductHolder6::CartesianProductHolder6
CartesianProductHolder6(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4, const Generator5 &g5, const Generator6 &g6)
Definition: gtest-param-util-generated.h:1846
testing::internal::CartesianProductGenerator9::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator9::Iterator::begin6_
const ParamGenerator< T6 >::iterator begin6_
Definition: gtest-param-util-generated.h:1449
testing::internal::CartesianProductGenerator10::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:1597
testing::internal::CartesianProductGenerator3::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:191
testing::internal::CartesianProductGenerator10
Definition: gtest-param-util-generated.h:1481
base
Definition: logging.cc:2162
testing::internal::CartesianProductGenerator6
Definition: gtest-param-util-generated.h:632
testing::internal::CartesianProductGenerator4::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:376
testing::internal::CartesianProductGenerator3::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3)
Definition: gtest-param-util-generated.h:202
testing::internal::CartesianProductGenerator10::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:1593
testing::internal::CartesianProductGenerator8::Iterator::end7_
const ParamGenerator< T7 >::iterator end7_
Definition: gtest-param-util-generated.h:1218
testing::internal::CartesianProductGenerator8::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:1223
testing::internal::CartesianProductGenerator10::g5_
const ParamGenerator< T5 > g5_
Definition: gtest-param-util-generated.h:1726
testing::internal::CartesianProductGenerator6::g6_
const ParamGenerator< T6 > g6_
Definition: gtest-param-util-generated.h:811
testing::internal::CartesianProductGenerator2::Iterator
Definition: gtest-param-util-generated.h:84
testing::internal::CartesianProductHolder6::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1869
testing::internal::CartesianProductHolder7::g5_
const Generator5 g5_
Definition: gtest-param-util-generated.h:1905
testing::internal::CartesianProductGenerator9::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:1439
testing::internal::CartesianProductHolder7::CartesianProductHolder7
CartesianProductHolder7(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4, const Generator5 &g5, const Generator6 &g6, const Generator7 &g7)
Definition: gtest-param-util-generated.h:1879
testing::internal::CartesianProductGenerator8::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:1201
testing::internal::CartesianProductGenerator8::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:1200
testing::internal::CartesianProductGenerator10::Iterator::end9_
const ParamGenerator< T9 >::iterator end9_
Definition: gtest-param-util-generated.h:1711
testing::internal::CartesianProductGenerator9::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:1440
testing::internal::CartesianProductGenerator9::Iterator::current6_
ParamGenerator< T6 >::iterator current6_
Definition: gtest-param-util-generated.h:1451
testing::internal::CartesianProductGenerator8::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4, const ParamGenerator< T5 > &g5, const typename ParamGenerator< T5 >::iterator &current5, const ParamGenerator< T6 > &g6, const typename ParamGenerator< T6 >::iterator &current6, const ParamGenerator< T7 > &g7, const typename ParamGenerator< T7 >::iterator &current7, const ParamGenerator< T8 > &g8, const typename ParamGenerator< T8 >::iterator &current8)
Definition: gtest-param-util-generated.h:1049
testing::internal::CartesianProductGenerator7::Iterator::current7_
ParamGenerator< T7 >::iterator current7_
Definition: gtest-param-util-generated.h:1001
testing::internal::CartesianProductGenerator9::Iterator::end5_
const ParamGenerator< T5 >::iterator end5_
Definition: gtest-param-util-generated.h:1447
testing::internal::CartesianProductGenerator8::g6_
const ParamGenerator< T6 > g6_
Definition: gtest-param-util-generated.h:1234
testing::internal::CartesianProductGenerator9::Iterator::current7_
ParamGenerator< T7 >::iterator current7_
Definition: gtest-param-util-generated.h:1454
testing::internal::CartesianProductGenerator10::Iterator::end10_
const ParamGenerator< T10 >::iterator end10_
Definition: gtest-param-util-generated.h:1714
testing::internal::CartesianProductHolder7::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1901
testing::internal::CartesianProductGenerator7::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:870
testing::internal::CartesianProductHolder6::g6_
const Generator6 g6_
Definition: gtest-param-util-generated.h:1872
testing::internal::CartesianProductHolder7::operator=
void operator=(const CartesianProductHolder7 &other)
testing::internal::CartesianProductGenerator9::g9_
const ParamGenerator< T9 > g9_
Definition: gtest-param-util-generated.h:1475
testing::internal::CartesianProductHolder8::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1942
testing::internal::CartesianProductGenerator3::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:306
testing::internal::CartesianProductGenerator6::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:648
testing::internal::CartesianProductGenerator6::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:787
testing::internal::CartesianProductGenerator2::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:96
testing::internal::CartesianProductGenerator3::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:292
testing::internal::CartesianProductGenerator2::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:166
testing::internal::CartesianProductGenerator5::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:603
testing::internal::CartesianProductGenerator6::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:680
testing::internal::CartesianProductGenerator10::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:1716
testing::internal::CartesianProductGenerator8::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:1077
testing::internal::CartesianProductGenerator8::Iterator::current8_
ParamGenerator< T8 >::iterator current8_
Definition: gtest-param-util-generated.h:1222
testing::internal::CartesianProductGenerator8::g5_
const ParamGenerator< T5 > g5_
Definition: gtest-param-util-generated.h:1233
testing::internal::CartesianProductGenerator9
Definition: gtest-param-util-generated.h:1242
testing::internal::CartesianProductGenerator9::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:1262
testing::internal::CartesianProductGenerator7::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:962
testing::internal::CartesianProductGenerator7::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:957
testing::internal::CartesianProductGenerator6::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:736
testing::internal::CartesianProductGenerator5::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:610
testing::internal::CartesianProductGenerator10::g8_
const ParamGenerator< T8 > g8_
Definition: gtest-param-util-generated.h:1729
testing::internal::CartesianProductGenerator10::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:1688
testing::internal::CartesianProductHolder10::g5_
const Generator5 g5_
Definition: gtest-param-util-generated.h:2032
testing::internal::CartesianProductHolder10::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:2031
testing::internal::CartesianProductGenerator7::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:830
testing::internal::CartesianProductHolder7::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1902
testing::internal::CartesianProductGenerator6::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:786
testing::internal::CartesianProductGenerator6::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductHolder4::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1808
testing::internal::CartesianProductHolder6
Definition: gtest-param-util-generated.h:1844
testing::internal::CartesianProductHolder2::CartesianProductHolder2
CartesianProductHolder2(const Generator1 &g1, const Generator2 &g2)
Definition: gtest-param-util-generated.h:1744
testing::internal::CartesianProductGenerator4::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:435
testing::internal::CartesianProductGenerator9::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:1470
testing::internal::CartesianProductGenerator3::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:239
testing::internal::CartesianProductGenerator10::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:1722
testing::internal::CartesianProductGenerator5::Iterator::end5_
const ParamGenerator< T5 >::iterator end5_
Definition: gtest-param-util-generated.h:614
testing::internal::CartesianProductGenerator9::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:1413
testing::internal::CartesianProductGenerator9::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:1443
testing::internal::CartesianProductGenerator8::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator5::CartesianProductGenerator5
CartesianProductGenerator5(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4, const ParamGenerator< T5 > &g5)
Definition: gtest-param-util-generated.h:469
testing::internal::CartesianProductHolder2::operator=
void operator=(const CartesianProductHolder2 &other)
testing::internal::CartesianProductGenerator4::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:422
testing::internal::CartesianProductGenerator7::Iterator::end6_
const ParamGenerator< T6 >::iterator end6_
Definition: gtest-param-util-generated.h:997
testing::internal::CartesianProductGenerator4::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:359
testing::internal::CartesianProductGenerator3::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:238
testing::internal::CartesianProductGenerator7::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:985
testing::internal::CartesianProductGenerator4::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4)
Definition: gtest-param-util-generated.h:336
testing::internal::CartesianProductGenerator2
Definition: gtest-param-util-generated.h:66
testing::internal::CartesianProductGenerator5::~CartesianProductGenerator5
~CartesianProductGenerator5() override
Definition: gtest-param-util-generated.h:473
testing::internal::CartesianProductGenerator10::g10_
const ParamGenerator< T10 > g10_
Definition: gtest-param-util-generated.h:1731
testing::internal::CartesianProductGenerator10::Iterator::end6_
const ParamGenerator< T6 >::iterator end6_
Definition: gtest-param-util-generated.h:1702
testing::internal::CartesianProductGenerator10::Iterator::begin10_
const ParamGenerator< T10 >::iterator begin10_
Definition: gtest-param-util-generated.h:1713
testing::internal::CartesianProductGenerator9::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:1445
testing::internal::CartesianProductHolder9::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1984
testing::internal::CartesianProductGenerator5::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:537
testing::internal::CartesianProductGenerator5::Iterator::begin5_
const ParamGenerator< T5 >::iterator begin5_
Definition: gtest-param-util-generated.h:613
testing::internal::CartesianProductGenerator6::Iterator
Definition: gtest-param-util-generated.h:654
testing::internal::CartesianProductGenerator2::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:167
testing::internal::CartesianProductHolder10::CartesianProductHolder10
CartesianProductHolder10(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4, const Generator5 &g5, const Generator6 &g6, const Generator7 &g7, const Generator8 &g8, const Generator9 &g9, const Generator10 &g10)
Definition: gtest-param-util-generated.h:1998
testing::internal::CartesianProductGenerator7::g5_
const ParamGenerator< T5 > g5_
Definition: gtest-param-util-generated.h:1012
testing::internal::CartesianProductGenerator8::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:1209
testing::internal::CartesianProductGenerator8::Iterator::begin6_
const ParamGenerator< T6 >::iterator begin6_
Definition: gtest-param-util-generated.h:1214
testing::internal::CartesianProductGenerator3::CartesianProductGenerator3
CartesianProductGenerator3(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3)
Definition: gtest-param-util-generated.h:186
testing::internal::CartesianProductGenerator7::Iterator::begin6_
const ParamGenerator< T6 >::iterator begin6_
Definition: gtest-param-util-generated.h:996
testing::internal::CartesianProductGenerator3::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:294
testing::internal::CartesianProductGenerator2::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2)
Definition: gtest-param-util-generated.h:86
testing::internal::CartesianProductGenerator8::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:1121
testing::internal::CartesianProductGenerator9::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:1436
testing::internal::CartesianProductGenerator2::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:145
testing::internal::CartesianProductGenerator9::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:1257
testing::internal::CartesianProductGenerator4::CartesianProductGenerator4
CartesianProductGenerator4(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4)
Definition: gtest-param-util-generated.h:318
testing::internal::CartesianProductHolder9::g5_
const Generator5 g5_
Definition: gtest-param-util-generated.h:1986
testing::internal::CartesianProductHolder7::g6_
const Generator6 g6_
Definition: gtest-param-util-generated.h:1906
testing::internal::CartesianProductGenerator9::g7_
const ParamGenerator< T7 > g7_
Definition: gtest-param-util-generated.h:1473
testing::internal::CartesianProductHolder3::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1782
testing::internal::CartesianProductGenerator10::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:1547
testing::internal::CartesianProductHolder10::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:2029
testing::internal::CartesianProductGenerator8::Iterator::end6_
const ParamGenerator< T6 >::iterator end6_
Definition: gtest-param-util-generated.h:1215
testing::internal::CartesianProductGenerator10::Iterator
Definition: gtest-param-util-generated.h:1509
testing::internal::CartesianProductGenerator10::g9_
const ParamGenerator< T9 > g9_
Definition: gtest-param-util-generated.h:1730
testing::internal::CartesianProductHolder2::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1758
testing::internal::CartesianProductGenerator5
Definition: gtest-param-util-generated.h:464
testing::internal::CartesianProductGenerator4::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:458
testing::internal::CartesianProductGenerator9::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:1375
testing::internal::CartesianProductGenerator9::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:1469
testing::internal::CartesianProductGenerator8::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:1204
begin
static size_t begin(const upb_table *t)
Definition: php/ext/google/protobuf/upb.c:4898
testing::internal::CartesianProductGenerator5::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:606
testing::internal::CartesianProductHolder5::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1837
testing::internal::CartesianProductGenerator10::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:1690
testing::internal::CartesianProductGenerator3::operator=
void operator=(const CartesianProductGenerator3 &other)
gtest-param-util.h
testing::internal::CartesianProductHolder2
Definition: gtest-param-util-generated.h:1742
testing::internal::CartesianProductGenerator2::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:134
testing::internal::CartesianProductHolder5::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1835
testing::internal::CartesianProductGenerator7::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:1009
testing::internal::CartesianProductHolder4::CartesianProductHolder4
CartesianProductHolder4(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4)
Definition: gtest-param-util-generated.h:1790
testing::internal::CartesianProductGenerator4::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:445
testing::internal::CartesianProductGenerator10::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:1664
testing::internal::CartesianProductGenerator10::Iterator::begin9_
const ParamGenerator< T9 >::iterator begin9_
Definition: gtest-param-util-generated.h:1710
testing::internal::CartesianProductGenerator5::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:625
testing::internal::CartesianProductGenerator10::ParamType
::std::tuple< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 > ParamType
Definition: gtest-param-util-generated.h:1485
testing::internal::CartesianProductGenerator7::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:931
GTEST_CHECK_
#define GTEST_CHECK_(condition)
Definition: gtest-port.h:1036
testing::internal::CartesianProductGenerator5::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:609
testing::internal::CartesianProductGenerator3::~CartesianProductGenerator3
~CartesianProductGenerator3() override
Definition: gtest-param-util-generated.h:189
testing::internal::CartesianProductHolder9::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:1985
testing::internal::CartesianProductGenerator10::Iterator::current5_
ParamGenerator< T5 >::iterator current5_
Definition: gtest-param-util-generated.h:1700
testing::internal::CartesianProductGenerator6::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:785
testing::internal::CartesianProductGenerator5::operator=
void operator=(const CartesianProductGenerator5 &other)
testing::internal::CartesianProductGenerator7::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:1002
testing::internal::CartesianProductGenerator7::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::ParamIteratorInterface< ParamType >
testing::internal::CartesianProductGenerator6::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:788
testing::internal::CartesianProductGenerator6::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4, const ParamGenerator< T5 > &g5, const typename ParamGenerator< T5 >::iterator &current5, const ParamGenerator< T6 > &g6, const typename ParamGenerator< T6 >::iterator &current6)
Definition: gtest-param-util-generated.h:656
testing::internal::CartesianProductGenerator9::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:1434
testing::internal::CartesianProductHolder10
Definition: gtest-param-util-generated.h:1996
testing::internal::CartesianProductGenerator5::Iterator::current5_
ParamGenerator< T5 >::iterator current5_
Definition: gtest-param-util-generated.h:615
testing::internal::CartesianProductGenerator9::CartesianProductGenerator9
CartesianProductGenerator9(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4, const ParamGenerator< T5 > &g5, const ParamGenerator< T6 > &g6, const ParamGenerator< T7 > &g7, const ParamGenerator< T8 > &g8, const ParamGenerator< T9 > &g9)
Definition: gtest-param-util-generated.h:1248
testing::internal::CartesianProductHolder10::operator=
void operator=(const CartesianProductHolder10 &other)
testing::internal::CartesianProductGenerator4::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:449
testing::internal::CartesianProductGenerator9::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:1442
testing::internal::CartesianProductGenerator7::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:908
testing::internal::CartesianProductGenerator4::~CartesianProductGenerator4
~CartesianProductGenerator4() override
Definition: gtest-param-util-generated.h:322
testing::internal::CartesianProductGenerator10::Iterator::end7_
const ParamGenerator< T7 >::iterator end7_
Definition: gtest-param-util-generated.h:1705
testing::internal::CartesianProductHolder7
Definition: gtest-param-util-generated.h:1877
testing::internal::CartesianProductGenerator2::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator5::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:604
testing::internal::CartesianProductGenerator6::Iterator::current5_
ParamGenerator< T5 >::iterator current5_
Definition: gtest-param-util-generated.h:796
testing::internal::CartesianProductGenerator8::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:1206
testing::internal::CartesianProductGenerator8::~CartesianProductGenerator8
~CartesianProductGenerator8() override
Definition: gtest-param-util-generated.h:1033
gtest-port.h
testing::internal::CartesianProductHolder4::operator=
void operator=(const CartesianProductHolder4 &other)
testing::internal::CartesianProductGenerator3::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:195
testing::internal::CartesianProductGenerator2::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:176
testing::internal::CartesianProductGenerator9::Iterator::begin5_
const ParamGenerator< T5 >::iterator begin5_
Definition: gtest-param-util-generated.h:1446
testing::internal::CartesianProductHolder3::operator=
void operator=(const CartesianProductHolder3 &other)
testing::internal::CartesianProductHolder6::g5_
const Generator5 g5_
Definition: gtest-param-util-generated.h:1871
testing::internal::CartesianProductGenerator6::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:793
testing::internal::CartesianProductGenerator7::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:904
testing::internal::CartesianProductGenerator6::~CartesianProductGenerator6
~CartesianProductGenerator6() override
Definition: gtest-param-util-generated.h:642
testing::internal::CartesianProductGenerator4::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:379
testing::internal::CartesianProductGenerator8::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:1079
testing::internal::CartesianProductGenerator4::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:439
testing::internal::CartesianProductGenerator6::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:764
testing::internal::CartesianProductGenerator10::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:1497
testing::internal::CartesianProductGenerator7::ParamType
::std::tuple< T1, T2, T3, T4, T5, T6, T7 > ParamType
Definition: gtest-param-util-generated.h:821
testing::internal::CartesianProductGenerator5::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:598
testing::internal::CartesianProductGenerator4::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:354
testing::internal::CartesianProductGenerator7::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:987
testing::internal::CartesianProductGenerator3::Iterator
Definition: gtest-param-util-generated.h:200
testing::internal::CartesianProductGenerator10::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:1696
testing::internal::CartesianProductGenerator6::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:782
testing::internal::CartesianProductHolder9::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1983
testing::internal::CartesianProductGenerator9::Iterator::current5_
ParamGenerator< T5 >::iterator current5_
Definition: gtest-param-util-generated.h:1448
testing::internal::CartesianProductGenerator8::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:1174
testing::internal::CartesianProductGenerator9::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:1346
testing::internal::CartesianProductHolder10::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:2028
testing::internal::CartesianProductGenerator10::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:1691
testing::internal::CartesianProductGenerator9::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:1309
testing::internal::CartesianProductGenerator4::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:324
testing::internal::CartesianProductHolder3::CartesianProductHolder3
CartesianProductHolder3(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3)
Definition: gtest-param-util-generated.h:1765
testing::internal::CartesianProductGenerator4::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:442
testing::internal::CartesianProductGenerator10::Iterator::current7_
ParamGenerator< T7 >::iterator current7_
Definition: gtest-param-util-generated.h:1706
testing::internal::ParamGenerator::begin
iterator begin() const
Definition: gtest-param-util.h:192
testing::internal::CartesianProductGenerator10::Iterator::current6_
ParamGenerator< T6 >::iterator current6_
Definition: gtest-param-util-generated.h:1703
testing::internal::CartesianProductGenerator10::Iterator::current10_
ParamGenerator< T10 >::iterator current10_
Definition: gtest-param-util-generated.h:1715
testing::internal::CartesianProductGenerator9::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:1407
testing::internal::CartesianProductHolder9::g9_
const Generator9 g9_
Definition: gtest-param-util-generated.h:1990
testing::internal::CartesianProductGenerator6::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:685
testing::internal::CartesianProductGenerator6::Iterator::end5_
const ParamGenerator< T5 >::iterator end5_
Definition: gtest-param-util-generated.h:795
testing::internal::CartesianProductGenerator6::g5_
const ParamGenerator< T5 > g5_
Definition: gtest-param-util-generated.h:810
testing::internal::CartesianProductGenerator5::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:601
testing::internal::CartesianProductHolder9::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1982
testing::internal::CartesianProductGenerator7::Iterator::current5_
ParamGenerator< T5 >::iterator current5_
Definition: gtest-param-util-generated.h:995
testing::internal::CartesianProductHolder4::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1807
testing::internal::CartesianProductGenerator2::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:103
testing::internal::CartesianProductHolder5::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:1838
testing::internal::CartesianProductGenerator4::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:328
testing::internal::CartesianProductGenerator8::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:1040
testing::internal::CartesianProductHolder6::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:1870
testing::internal::CartesianProductGenerator7::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:875
testing::internal::CartesianProductHolder5::g5_
const Generator5 g5_
Definition: gtest-param-util-generated.h:1839
testing::internal::CartesianProductHolder10::g10_
const Generator10 g10_
Definition: gtest-param-util-generated.h:2037
testing::internal::CartesianProductGenerator2::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:76
testing::internal::CartesianProductGenerator5::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4, const ParamGenerator< T5 > &g5, const typename ParamGenerator< T5 >::iterator &current5)
Definition: gtest-param-util-generated.h:487
testing::internal::CartesianProductGenerator4::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:459
testing::internal::CartesianProductGenerator8
Definition: gtest-param-util-generated.h:1020
testing::internal::CartesianProductHolder10::g6_
const Generator6 g6_
Definition: gtest-param-util-generated.h:2033
testing::internal::CartesianProductGenerator10::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:1725
testing::internal::CartesianProductGenerator5::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:479
testing::internal::CartesianProductGenerator9::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:1431
testing::internal::CartesianProductGenerator4::Iterator
Definition: gtest-param-util-generated.h:334
testing::internal::CartesianProductHolder8::CartesianProductHolder8
CartesianProductHolder8(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4, const Generator5 &g5, const Generator6 &g6, const Generator7 &g7, const Generator8 &g8)
Definition: gtest-param-util-generated.h:1915
testing::internal::CartesianProductGenerator7::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:907
testing::internal::CartesianProductHolder3
Definition: gtest-param-util-generated.h:1763
testing::internal::CartesianProductHolder9::g7_
const Generator7 g7_
Definition: gtest-param-util-generated.h:1988
testing::internal::CartesianProductGenerator2::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:169
testing::internal::CartesianProductGenerator6::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:644
testing::internal::CartesianProductGenerator9::Iterator::begin8_
const ParamGenerator< T8 >::iterator begin8_
Definition: gtest-param-util-generated.h:1455
testing::internal::CartesianProductGenerator9::~CartesianProductGenerator9
~CartesianProductGenerator9() override
Definition: gtest-param-util-generated.h:1255
testing::internal::CartesianProductGenerator8::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:1117
testing::internal::CartesianProductGenerator9::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:1437
testing::internal::CartesianProductGenerator3::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:307
testing::internal::CartesianProductGenerator2::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:160
testing::internal::CartesianProductGenerator7::g6_
const ParamGenerator< T6 > g6_
Definition: gtest-param-util-generated.h:1013
testing::internal::CartesianProductGenerator8::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:1084
testing::internal::CartesianProductGenerator8::operator=
void operator=(const CartesianProductGenerator8 &other)
testing::internal::CartesianProductGenerator8::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:1232
testing::internal::CartesianProductGenerator5::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:579
testing::internal::CartesianProductGenerator8::CartesianProductGenerator8
CartesianProductGenerator8(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4, const ParamGenerator< T5 > &g5, const ParamGenerator< T6 > &g6, const ParamGenerator< T7 > &g7, const ParamGenerator< T8 > &g8)
Definition: gtest-param-util-generated.h:1026
testing::internal::CartesianProductGenerator4::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:444
testing::internal::CartesianProductGenerator9::Iterator::begin7_
const ParamGenerator< T7 >::iterator begin7_
Definition: gtest-param-util-generated.h:1452
testing::internal::CartesianProductGenerator5::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:559
testing::internal::CartesianProductGenerator10::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:1552
testing::internal::CartesianProductGenerator7::Iterator::current6_
ParamGenerator< T6 >::iterator current6_
Definition: gtest-param-util-generated.h:998
testing::internal::CartesianProductHolder8::g5_
const Generator5 g5_
Definition: gtest-param-util-generated.h:1944
testing::internal::CartesianProductHolder6::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1868
testing::internal::CartesianProductGenerator7::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:990
testing::internal::CartesianProductGenerator4::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:448
testing::internal::CartesianProductGenerator9::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:1438
testing::internal::CartesianProductGenerator3::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:299
testing::internal::CartesianProductGenerator10::g7_
const ParamGenerator< T7 > g7_
Definition: gtest-param-util-generated.h:1728
testing::internal::CartesianProductGenerator3::ParamType
::std::tuple< T1, T2, T3 > ParamType
Definition: gtest-param-util-generated.h:184
testing::internal::CartesianProductGenerator7::Iterator
Definition: gtest-param-util-generated.h:841
testing::internal::CartesianProductGenerator8::Iterator::begin7_
const ParamGenerator< T7 >::iterator begin7_
Definition: gtest-param-util-generated.h:1217
testing::internal::CartesianProductGenerator9::g8_
const ParamGenerator< T8 > g8_
Definition: gtest-param-util-generated.h:1474
testing::internal::CartesianProductHolder8::g7_
const Generator7 g7_
Definition: gtest-param-util-generated.h:1946
testing::internal::ParamGeneratorInterface
Definition: gtest-param-util.h:84
testing::internal::CartesianProductGenerator9::Iterator::begin9_
const ParamGenerator< T9 >::iterator begin9_
Definition: gtest-param-util-generated.h:1458
testing::internal::CartesianProductGenerator6::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:806
testing::internal::CartesianProductGenerator3::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:215
testing::internal::CartesianProductHolder8
Definition: gtest-param-util-generated.h:1913
testing::internal::CartesianProductGenerator8::g7_
const ParamGenerator< T7 > g7_
Definition: gtest-param-util-generated.h:1235
testing::internal::CartesianProductGenerator9::ParamType
::std::tuple< T1, T2, T3, T4, T5, T6, T7, T8, T9 > ParamType
Definition: gtest-param-util-generated.h:1246
testing::internal::CartesianProductGenerator4::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:380
testing::internal::CartesianProductGenerator2::CartesianProductGenerator2
CartesianProductGenerator2(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2)
Definition: gtest-param-util-generated.h:71
testing::internal::CartesianProductGenerator2::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:168
testing::internal::CartesianProductGenerator6::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:791
testing::internal::CartesianProductGenerator4::ParamType
::std::tuple< T1, T2, T3, T4 > ParamType
Definition: gtest-param-util-generated.h:316
testing::internal::CartesianProductGenerator10::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:1686
testing::internal::CartesianProductGenerator10::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4, const ParamGenerator< T5 > &g5, const typename ParamGenerator< T5 >::iterator &current5, const ParamGenerator< T6 > &g6, const typename ParamGenerator< T6 >::iterator &current6, const ParamGenerator< T7 > &g7, const typename ParamGenerator< T7 >::iterator &current7, const ParamGenerator< T8 > &g8, const typename ParamGenerator< T8 >::iterator &current8, const ParamGenerator< T9 > &g9, const typename ParamGenerator< T9 >::iterator &current9, const ParamGenerator< T10 > &g10, const typename ParamGenerator< T10 >::iterator &current10)
Definition: gtest-param-util-generated.h:1511
testing::internal::CartesianProductGenerator10::Iterator::end3_
const ParamGenerator< T3 >::iterator end3_
Definition: gtest-param-util-generated.h:1693
testing::internal::CartesianProductGenerator4
Definition: gtest-param-util-generated.h:313
testing::internal::CartesianProductGenerator2::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:165
testing::internal::CartesianProductGenerator7::Iterator::begin5_
const ParamGenerator< T5 >::iterator begin5_
Definition: gtest-param-util-generated.h:993
testing::internal::CartesianProductGenerator3::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:276
testing::internal::CartesianProductGenerator6::Iterator::current6_
ParamGenerator< T6 >::iterator current6_
Definition: gtest-param-util-generated.h:799
testing::internal::CartesianProductGenerator10::CartesianProductGenerator10
CartesianProductGenerator10(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4, const ParamGenerator< T5 > &g5, const ParamGenerator< T6 > &g6, const ParamGenerator< T7 > &g7, const ParamGenerator< T8 > &g8, const ParamGenerator< T9 > &g9, const ParamGenerator< T10 > &g10)
Definition: gtest-param-util-generated.h:1487
testing::internal::CartesianProductGenerator3::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:295
testing::internal::CartesianProductGenerator7::g4_
const ParamGenerator< T4 > g4_
Definition: gtest-param-util-generated.h:1011
testing::internal::CartesianProductGenerator8::Iterator::end5_
const ParamGenerator< T5 >::iterator end5_
Definition: gtest-param-util-generated.h:1212
testing::internal::CartesianProductGenerator10::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator10::g6_
const ParamGenerator< T6 > g6_
Definition: gtest-param-util-generated.h:1727
testing::internal::CartesianProductGenerator9::Iterator::end9_
const ParamGenerator< T9 >::iterator end9_
Definition: gtest-param-util-generated.h:1459
testing::internal::CartesianProductGenerator4::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:438
testing::internal::CartesianProductGenerator10::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:1723
testing::internal::CartesianProductGenerator8::Iterator
Definition: gtest-param-util-generated.h:1047
testing::internal::CartesianProductGenerator4::operator=
void operator=(const CartesianProductGenerator4 &other)
testing::internal::CartesianProductHolder10::g9_
const Generator9 g9_
Definition: gtest-param-util-generated.h:2036
testing::internal::CartesianProductGenerator9::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:1349
testing::internal::CartesianProductGenerator10::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:1658
testing::internal::CartesianProductGenerator7::Iterator::Iterator
Iterator(const ParamGeneratorInterface< ParamType > *base, const ParamGenerator< T1 > &g1, const typename ParamGenerator< T1 >::iterator &current1, const ParamGenerator< T2 > &g2, const typename ParamGenerator< T2 >::iterator &current2, const ParamGenerator< T3 > &g3, const typename ParamGenerator< T3 >::iterator &current3, const ParamGenerator< T4 > &g4, const typename ParamGenerator< T4 >::iterator &current4, const ParamGenerator< T5 > &g5, const typename ParamGenerator< T5 >::iterator &current5, const ParamGenerator< T6 > &g6, const typename ParamGenerator< T6 >::iterator &current6, const ParamGenerator< T7 > &g7, const typename ParamGenerator< T7 >::iterator &current7)
Definition: gtest-param-util-generated.h:843
testing::internal::CartesianProductGenerator6::Iterator::begin6_
const ParamGenerator< T6 >::iterator begin6_
Definition: gtest-param-util-generated.h:797
testing::internal::CartesianProductGenerator5::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:506
testing::internal::CartesianProductHolder5::CartesianProductHolder5
CartesianProductHolder5(const Generator1 &g1, const Generator2 &g2, const Generator3 &g3, const Generator4 &g4, const Generator5 &g5)
Definition: gtest-param-util-generated.h:1817
testing::internal::CartesianProductGenerator3::Iterator::Advance
void Advance() override
Definition: gtest-param-util-generated.h:222
testing::internal::CartesianProductGenerator6::Iterator::Current
const ParamType * Current() const override
Definition: gtest-param-util-generated.h:713
testing::internal::CartesianProductHolder7::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1903
testing::internal::CartesianProductGenerator9::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:1302
testing::internal::CartesianProductGenerator8::g8_
const ParamGenerator< T8 > g8_
Definition: gtest-param-util-generated.h:1236
testing::internal::CartesianProductGenerator8::Begin
ParamIteratorInterface< ParamType > * Begin() const override
Definition: gtest-param-util-generated.h:1035
testing::internal::CartesianProductGenerator10::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:1683
testing::internal::CartesianProductGenerator8::Iterator::begin8_
const ParamGenerator< T8 >::iterator begin8_
Definition: gtest-param-util-generated.h:1220
testing::internal::CartesianProductHolder8::g6_
const Generator6 g6_
Definition: gtest-param-util-generated.h:1945
testing::internal::CartesianProductGenerator3::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:297
testing::internal::CartesianProductGenerator5::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:607
testing::internal::CartesianProductHolder3::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1783
testing::internal::ParamGenerator::end
iterator end() const
Definition: gtest-param-util.h:193
testing::internal::CartesianProductGenerator7::Iterator::end7_
const ParamGenerator< T7 >::iterator end7_
Definition: gtest-param-util-generated.h:1000
testing::internal::CartesianProductGenerator8::ParamType
::std::tuple< T1, T2, T3, T4, T5, T6, T7, T8 > ParamType
Definition: gtest-param-util-generated.h:1024
testing::internal::CartesianProductHolder4::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:1809
testing::internal::CartesianProductGenerator7
Definition: gtest-param-util-generated.h:817
testing::internal::CartesianProductGenerator7::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:986
testing::internal::CartesianProductGenerator9::Iterator::end8_
const ParamGenerator< T8 >::iterator end8_
Definition: gtest-param-util-generated.h:1456
testing::internal::CartesianProductGenerator8::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:1230
testing::internal::CartesianProductGenerator4::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:400
testing::internal::CartesianProductGenerator7::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:991
testing::internal::CartesianProductGenerator9::Iterator::current9_
ParamGenerator< T9 >::iterator current9_
Definition: gtest-param-util-generated.h:1460
testing::internal::CartesianProductGenerator10::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:1545
testing::internal::CartesianProductHolder4
Definition: gtest-param-util-generated.h:1788
testing::internal::CartesianProductGenerator7::CartesianProductGenerator7
CartesianProductGenerator7(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4, const ParamGenerator< T5 > &g5, const ParamGenerator< T6 > &g6, const ParamGenerator< T7 > &g7)
Definition: gtest-param-util-generated.h:823
testing::internal::CartesianProductHolder8::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1941
testing::internal::CartesianProductGenerator2::ParamType
::std::tuple< T1, T2 > ParamType
Definition: gtest-param-util-generated.h:69
testing::internal::CartesianProductGenerator6::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:710
testing::internal::CartesianProductGenerator3::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:308
testing::internal::CartesianProductGenerator7::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:982
testing::internal::CartesianProductGenerator7::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:1010
testing::internal::CartesianProductHolder9::g8_
const Generator8 g8_
Definition: gtest-param-util-generated.h:1989
testing::internal::CartesianProductGenerator10::Iterator::current8_
ParamGenerator< T8 >::iterator current8_
Definition: gtest-param-util-generated.h:1709
testing::internal::CartesianProductGenerator3::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:258
testing::internal::CartesianProductHolder9::operator=
void operator=(const CartesianProductHolder9 &other)
testing::internal::CartesianProductGenerator6::ParamType
::std::tuple< T1, T2, T3, T4, T5, T6 > ParamType
Definition: gtest-param-util-generated.h:635
testing::internal::CartesianProductGenerator4::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:447
testing::internal::CartesianProductGenerator4::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:352
testing::internal::ParamIteratorInterface::BaseGenerator
virtual const ParamGeneratorInterface< T > * BaseGenerator() const =0
testing::internal::CartesianProductGenerator5::g2_
const ParamGenerator< T2 > g2_
Definition: gtest-param-util-generated.h:623
testing::internal::CartesianProductGenerator8::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:1207
testing::internal::CartesianProductGenerator8::Iterator::current7_
ParamGenerator< T7 >::iterator current7_
Definition: gtest-param-util-generated.h:1219
testing::internal::CartesianProductGenerator3::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:217
testing::internal::CartesianProductHolder8::g1_
const Generator1 g1_
Definition: gtest-param-util-generated.h:1940
internal
Definition: any.pb.h:40
testing::internal::CartesianProductGenerator7::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:835
testing::internal::CartesianProductGenerator7::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:989
testing::internal::CartesianProductGenerator9::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:1350
testing::internal::CartesianProductGenerator10::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:1687
testing::internal::CartesianProductGenerator5::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:602
testing::internal::CartesianProductGenerator8::Iterator::begin2_
const ParamGenerator< T2 >::iterator begin2_
Definition: gtest-param-util-generated.h:1202
testing::internal::CartesianProductGenerator8::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:1203
testing::internal::CartesianProductHolder10::g3_
const Generator3 g3_
Definition: gtest-param-util-generated.h:2030
testing::internal::CartesianProductGenerator6::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:759
testing::internal::CartesianProductGenerator8::Iterator::end8_
const ParamGenerator< T8 >::iterator end8_
Definition: gtest-param-util-generated.h:1221
testing::internal::CartesianProductGenerator10::operator=
void operator=(const CartesianProductGenerator10 &other)
testing::internal::CartesianProductGenerator10::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:1697
testing::internal::CartesianProductGenerator3::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:291
testing::internal::CartesianProductGenerator5::Iterator::end2_
const ParamGenerator< T2 >::iterator end2_
Definition: gtest-param-util-generated.h:605
testing::internal::CartesianProductGenerator8::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:1231
testing::internal::CartesianProductGenerator4::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:443
testing::internal::CartesianProductGenerator8::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:1229
testing::internal::CartesianProductGenerator2::~CartesianProductGenerator2
~CartesianProductGenerator2() override
Definition: gtest-param-util-generated.h:74
testing::internal::CartesianProductGenerator6::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:779
testing::internal::CartesianProductHolder9
Definition: gtest-param-util-generated.h:1953
testing::internal::CartesianProductGenerator7::Iterator::base_
const ParamGeneratorInterface< ParamType > *const base_
Definition: gtest-param-util-generated.h:978
testing::internal::CartesianProductGenerator5::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:624
assert.h
testing::internal::CartesianProductGenerator10::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:1694
testing::internal::CartesianProductGenerator2::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:164
testing::internal::CartesianProductHolder10::g8_
const Generator8 g8_
Definition: gtest-param-util-generated.h:2035
testing::internal::CartesianProductHolder7::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:1904
testing::internal::CartesianProductGenerator2::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:149
testing::internal::CartesianProductGenerator2::operator=
void operator=(const CartesianProductGenerator2 &other)
testing::internal::CartesianProductGenerator9::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:1461
testing::internal::CartesianProductGenerator8::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:1179
testing::internal::CartesianProductGenerator9::Iterator::current8_
ParamGenerator< T8 >::iterator current8_
Definition: gtest-param-util-generated.h:1457
testing::internal::CartesianProductGenerator7::g7_
const ParamGenerator< T7 > g7_
Definition: gtest-param-util-generated.h:1014
testing::internal::CartesianProductGenerator7::operator=
void operator=(const CartesianProductGenerator7 &other)
testing::internal::CartesianProductGenerator6::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:784
testing::internal::CartesianProductGenerator2::Iterator::begin1_
const ParamGenerator< T1 >::iterator begin1_
Definition: gtest-param-util-generated.h:163
testing::internal::CartesianProductGenerator3
Definition: gtest-param-util-generated.h:181
testing::internal::CartesianProductHolder4::g4_
const Generator4 g4_
Definition: gtest-param-util-generated.h:1810
testing::internal::CartesianProductGenerator9::operator=
void operator=(const CartesianProductGenerator9 &other)
testing::internal::CartesianProductGenerator8::Iterator::Iterator
Iterator(const Iterator &other)
Definition: gtest-param-util-generated.h:1145
testing::internal::CartesianProductHolder10::g7_
const Generator7 g7_
Definition: gtest-param-util-generated.h:2034
testing::internal::CartesianProductGenerator10::Iterator::begin7_
const ParamGenerator< T7 >::iterator begin7_
Definition: gtest-param-util-generated.h:1704
testing::internal::CartesianProductGenerator4::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:446
testing::internal::CartesianProductGenerator5::Iterator
Definition: gtest-param-util-generated.h:485
testing::internal::CartesianProductGenerator10::g3_
const ParamGenerator< T3 > g3_
Definition: gtest-param-util-generated.h:1724
testing::internal::CartesianProductHolder9::g6_
const Generator6 g6_
Definition: gtest-param-util-generated.h:1987
testing::internal::CartesianProductGenerator5::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:538
testing::internal::CartesianProductGenerator5::Iterator::AtEnd
bool AtEnd() const
Definition: gtest-param-util-generated.h:584
testing::internal::CartesianProductGenerator2::End
ParamIteratorInterface< ParamType > * End() const override
Definition: gtest-param-util-generated.h:79
testing::internal::CartesianProductGenerator10::Iterator::begin4_
const ParamGenerator< T4 >::iterator begin4_
Definition: gtest-param-util-generated.h:1695
testing::internal::CartesianProductGenerator2::Iterator::BaseGenerator
const ParamGeneratorInterface< ParamType > * BaseGenerator() const override
Definition: gtest-param-util-generated.h:98
testing::internal::CartesianProductGenerator10::Iterator::end5_
const ParamGenerator< T5 >::iterator end5_
Definition: gtest-param-util-generated.h:1699
testing::internal::CartesianProductGenerator3::Iterator::current2_
ParamGenerator< T2 >::iterator current2_
Definition: gtest-param-util-generated.h:296
testing::internal::CartesianProductGenerator7::Iterator::current1_
ParamGenerator< T1 >::iterator current1_
Definition: gtest-param-util-generated.h:983
testing::internal::CartesianProductGenerator7::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:1008
testing::internal::CartesianProductGenerator5::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:622
testing::internal::CartesianProductGenerator6::Iterator::end4_
const ParamGenerator< T4 >::iterator end4_
Definition: gtest-param-util-generated.h:792
testing::internal::CartesianProductGenerator6::Iterator::current3_
ParamGenerator< T3 >::iterator current3_
Definition: gtest-param-util-generated.h:790
testing::internal::CartesianProductGenerator9::g6_
const ParamGenerator< T6 > g6_
Definition: gtest-param-util-generated.h:1472
testing::internal::CartesianProductGenerator10::Iterator::begin3_
const ParamGenerator< T3 >::iterator begin3_
Definition: gtest-param-util-generated.h:1692
testing::internal::CartesianProductHolder7::g7_
const Generator7 g7_
Definition: gtest-param-util-generated.h:1907
testing::internal::CartesianProductGenerator6::Iterator::~Iterator
~Iterator() override
Definition: gtest-param-util-generated.h:678
testing::internal::CartesianProductGenerator3::Iterator::ComputeCurrentValue
void ComputeCurrentValue()
Definition: gtest-param-util-generated.h:272
testing::internal::CartesianProductGenerator3::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator5::Iterator::current4_
ParamGenerator< T4 >::iterator current4_
Definition: gtest-param-util-generated.h:612
testing::internal::CartesianProductGenerator8::Iterator::begin5_
const ParamGenerator< T5 >::iterator begin5_
Definition: gtest-param-util-generated.h:1211
testing::internal::CartesianProductGenerator2::Iterator::Equals
bool Equals(const ParamIteratorInterface< ParamType > &other) const override
Definition: gtest-param-util-generated.h:116
testing::internal::CartesianProductGenerator3::Iterator::current_value_
std::shared_ptr< ParamType > current_value_
Definition: gtest-param-util-generated.h:300
testing::internal::CartesianProductHolder5::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1836
testing::internal::CartesianProductHolder2::g2_
const Generator2 g2_
Definition: gtest-param-util-generated.h:1759
testing::internal::CartesianProductGenerator6::CartesianProductGenerator6
CartesianProductGenerator6(const ParamGenerator< T1 > &g1, const ParamGenerator< T2 > &g2, const ParamGenerator< T3 > &g3, const ParamGenerator< T4 > &g4, const ParamGenerator< T5 > &g5, const ParamGenerator< T6 > &g6)
Definition: gtest-param-util-generated.h:637
testing::internal::CartesianProductGenerator9::Iterator::end1_
const ParamGenerator< T1 >::iterator end1_
Definition: gtest-param-util-generated.h:1435
testing::internal::CartesianProductGenerator8::Iterator::current5_
ParamGenerator< T5 >::iterator current5_
Definition: gtest-param-util-generated.h:1213
testing::internal::CartesianProductGenerator5::ParamType
::std::tuple< T1, T2, T3, T4, T5 > ParamType
Definition: gtest-param-util-generated.h:467
testing::internal::CartesianProductGenerator3::Iterator::Clone
ParamIteratorInterface< ParamType > * Clone() const override
Definition: gtest-param-util-generated.h:235
testing::internal::CartesianProductGenerator9::Iterator::end6_
const ParamGenerator< T6 >::iterator end6_
Definition: gtest-param-util-generated.h:1450
testing::internal::CartesianProductGenerator4::Iterator::operator=
void operator=(const Iterator &other)
testing::internal::CartesianProductGenerator9::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:1467
testing::internal::CartesianProductGenerator2::g1_
const ParamGenerator< T1 > g1_
Definition: gtest-param-util-generated.h:175
testing::internal::CartesianProductHolder8::g8_
const Generator8 g8_
Definition: gtest-param-util-generated.h:1947


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:53