Home | History | Annotate | Download | only in internal

Lines Matching refs:Tuple

34 // Implements a subset of TR1 tuple needed by Google Test and Google Mock.
42 // tuple template as a friend (it complains that tuple is redefined). This
49 template <GTEST_10_TYPENAMES_(U)> friend class tuple; \
53 // GTEST_n_TUPLE_(T) is the type of an n-tuple.
54 #define GTEST_0_TUPLE_(T) tuple<>
55 #define GTEST_1_TUPLE_(T) tuple<T##0, void, void, void, void, void, void, \
57 #define GTEST_2_TUPLE_(T) tuple<T##0, T##1, void, void, void, void, void, \
59 #define GTEST_3_TUPLE_(T) tuple<T##0, T##1, T##2, void, void, void, void, \
61 #define GTEST_4_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, void, void, void, \
63 #define GTEST_5_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, T##4, void, void, \
65 #define GTEST_6_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, T##4, T##5, void, \
67 #define GTEST_7_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, T##4, T##5, T##6, \
69 #define GTEST_8_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, T##4, T##5, T##6, \
71 #define GTEST_9_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, T##4, T##5, T##6, \
73 #define GTEST_10_TUPLE_(T) tuple<T##0, T##1, T##2, T##3, T##4, T##5, T##6, \
108 class tuple;
137 // iff k < the number of fields in tuple type T.
138 template <bool kIndexValid, int kIndex, class Tuple>
174 class tuple<> {
176 tuple() {}
177 tuple(const tuple& /* t */) {}
178 tuple& operator=(const tuple& /* t */) { return *this; }
186 tuple() {}
188 explicit tuple(GTEST_BY_REF_(T0) f0) : f0_(f0) {}
190 tuple(const tuple& t) : f0_(t.f0_) {}
193 tuple(const GTEST_1_TUPLE_(U)& t) : f0_(t.f0_) {}
195 tuple& operator=(const tuple& t) { return CopyFrom(t); }
198 tuple& operator=(const GTEST_1_TUPLE_(U)& t) {
205 tuple& CopyFrom(const GTEST_1_TUPLE_(U)& t) {
218 tuple() {}
220 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1) : f0_(f0),
223 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_) {}
226 tuple(const GTEST_2_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_) {}
228 tuple(const ::std::pair<U0, U1>& p) : f0_(p.first), f1_(p.second) {}
230 tuple& operator=(const tuple& t) { return CopyFrom(t); }
233 tuple& operator=(const GTEST_2_TUPLE_(U)& t) {
237 tuple& operator=(const ::std::pair<U0, U1>& p) {
246 tuple& CopyFrom(const GTEST_2_TUPLE_(U)& t) {
261 tuple() {}
263 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
266 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_) {}
269 tuple(const GTEST_3_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_) {}
271 tuple& operator=(const tuple& t) { return CopyFrom(t); }
274 tuple& operator=(const GTEST_3_TUPLE_(U)& t) {
281 tuple& CopyFrom(const GTEST_3_TUPLE_(U)& t) {
298 tuple() {}
300 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
304 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_) {}
307 tuple(const GTEST_4_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
310 tuple& operator=(const tuple& t) { return CopyFrom(t); }
313 tuple& operator=(const GTEST_4_TUPLE_(U)& t) {
320 tuple& CopyFrom(const GTEST_4_TUPLE_(U)& t) {
339 tuple() {}
341 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
345 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_),
349 tuple(const GTEST_5_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
352 tuple& operator=(const tuple& t) { return CopyFrom(t); }
355 tuple& operator=(const GTEST_5_TUPLE_(U)& t) {
362 tuple& CopyFrom(const GTEST_5_TUPLE_(U)& t) {
383 tuple() {}
385 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
390 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_),
394 tuple(const GTEST_6_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
397 tuple& operator=(const tuple& t) { return CopyFrom(t); }
400 tuple& operator=(const GTEST_6_TUPLE_(U)& t) {
407 tuple& CopyFrom(const GTEST_6_TUPLE_(U)& t) {
430 tuple() {}
432 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
437 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_),
441 tuple(const GTEST_7_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
444 tuple& operator=(const tuple& t) { return CopyFrom(t); }
447 tuple& operator=(const GTEST_7_TUPLE_(U)& t) {
454 tuple& CopyFrom(const GTEST_7_TUPLE_(U)& t) {
479 tuple() {}
481 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
487 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_),
491 tuple(const GTEST_8_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
494 tuple& operator=(const tuple& t) { return CopyFrom(t); }
497 tuple& operator=(const GTEST_8_TUPLE_(U)& t) {
504 tuple& CopyFrom(const GTEST_8_TUPLE_(U)& t) {
531 tuple() {}
533 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
539 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_),
543 tuple(const GTEST_9_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
546 tuple& operator=(const tuple& t) { return CopyFrom(t); }
549 tuple& operator=(const GTEST_9_TUPLE_(U)& t) {
556 tuple& CopyFrom(const GTEST_9_TUPLE_(U)& t) {
581 class tuple {
585 tuple() {}
587 explicit tuple(GTEST_BY_REF_(T0) f0, GTEST_BY_REF_(T1) f1,
593 tuple(const tuple& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_), f3_(t.f3_),
597 tuple(const GTEST_10_TUPLE_(U)& t) : f0_(t.f0_), f1_(t.f1_), f2_(t.f2_),
601 tuple& operator=(const tuple& t) { return CopyFrom(t); }
604 tuple& operator=(const GTEST_10_TUPLE_(U)& t) {
611 tuple& CopyFrom(const GTEST_10_TUPLE_(U)& t) {
637 // 6.1.3.2 Tuple creation functions.
643 inline tuple<> make_tuple() { return tuple<>(); }
704 // 6.1.3.3 Tuple helper classes.
706 template <typename Tuple> struct tuple_size;
741 template <int k, class Tuple>
744 k < (tuple_size<Tuple>::value), k, Tuple>::type type;
747 #define GTEST_TUPLE_ELEMENT_(k, Tuple) typename tuple_element<k, Tuple >::type
756 template <class Tuple>
757 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(0, Tuple))
758 Field(Tuple& t) { return t.f0_; } // NOLINT
760 template <class Tuple>
761 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(0, Tuple))
762 ConstField(const Tuple& t) { return t.f0_; }
768 template <class Tuple>
769 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(1, Tuple))
770 Field(Tuple& t) { return t.f1_; } // NOLINT
772 template <class Tuple>
773 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(1, Tuple))
774 ConstField(const Tuple& t) { return t.f1_; }
780 template <class Tuple>
781 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(2, Tuple))
782 Field(Tuple& t) { return t.f2_; } // NOLINT
784 template <class Tuple>
785 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(2, Tuple))
786 ConstField(const Tuple& t) { return t.f2_; }
792 template <class Tuple>
793 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(3, Tuple))
794 Field(Tuple& t) { return t.f3_; } // NOLINT
796 template <class Tuple>
797 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(3, Tuple))
798 ConstField(const Tuple& t) { return t.f3_; }
804 template <class Tuple>
805 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(4, Tuple))
806 Field(Tuple& t) { return t.f4_; } // NOLINT
808 template <class Tuple>
809 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(4, Tuple))
810 ConstField(const Tuple& t) { return t.f4_; }
816 template <class Tuple>
817 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(5, Tuple))
818 Field(Tuple& t) { return t.f5_; } // NOLINT
820 template <class Tuple>
821 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(5, Tuple))
822 ConstField(const Tuple& t) { return t.f5_; }
828 template <class Tuple>
829 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(6, Tuple))
830 Field(Tuple& t) { return t.f6_; } // NOLINT
832 template <class Tuple>
833 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(6, Tuple))
834 ConstField(const Tuple& t) { return t.f6_; }
840 template <class Tuple>
841 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(7, Tuple))
842 Field(Tuple& t) { return t.f7_; } // NOLINT
844 template <class Tuple>
845 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(7, Tuple))
846 ConstField(const Tuple& t) { return t.f7_; }
852 template <class Tuple>
853 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(8, Tuple))
854 Field(Tuple& t) { return t.f8_; } // NOLINT
856 template <class Tuple>
857 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(8, Tuple))
858 ConstField(const Tuple& t) { return t.f8_; }
864 template <class Tuple>
865 static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(9, Tuple))
866 Field(Tuple& t) { return t.f9_; } // NOLINT
868 template <class Tuple>
869 static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(9, Tuple))
870 ConstField(const Tuple& t) { return t.f9_; }