Code merge, upstreaming accumulated changes, cleanup
This commit is contained in:
parent
62dbaa2947
commit
6a26e47cfc
|
@ -38,6 +38,7 @@
|
||||||
//
|
//
|
||||||
// This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
|
// This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_
|
#ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_
|
||||||
#define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_
|
#define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_
|
||||||
|
|
||||||
|
@ -79,7 +80,7 @@ TEST_P(FooTest, HasBlahBlah) {
|
||||||
// Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test
|
// Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test
|
||||||
// case with any set of parameters you want. Google Test defines a number
|
// case with any set of parameters you want. Google Test defines a number
|
||||||
// of functions for generating test parameters. They return what we call
|
// of functions for generating test parameters. They return what we call
|
||||||
// (surprise!) parameter generators. Here is a summary of them, which
|
// (surprise!) parameter generators. Here is a summary of them, which
|
||||||
// are all in the testing namespace:
|
// are all in the testing namespace:
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
@ -268,7 +269,7 @@ internal::ParamGenerator<T> Range(T start, T end) {
|
||||||
// each with C-string values of "foo", "bar", and "baz":
|
// each with C-string values of "foo", "bar", and "baz":
|
||||||
//
|
//
|
||||||
// const char* strings[] = {"foo", "bar", "baz"};
|
// const char* strings[] = {"foo", "bar", "baz"};
|
||||||
// INSTANTIATE_TEST_CASE_P(StringSequence, SrtingTest, ValuesIn(strings));
|
// INSTANTIATE_TEST_CASE_P(StringSequence, StringTest, ValuesIn(strings));
|
||||||
//
|
//
|
||||||
// This instantiates tests from test case StlStringTest
|
// This instantiates tests from test case StlStringTest
|
||||||
// each with STL strings with values "a" and "b":
|
// each with STL strings with values "a" and "b":
|
||||||
|
@ -1413,24 +1414,26 @@ internal::CartesianProductHolder10<Generator1, Generator2, Generator3,
|
||||||
// alphanumeric characters or underscore. Because PrintToString adds quotes
|
// alphanumeric characters or underscore. Because PrintToString adds quotes
|
||||||
// to std::string and C strings, it won't work for these types.
|
// to std::string and C strings, it won't work for these types.
|
||||||
|
|
||||||
# define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator, ...) \
|
#define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator, ...) \
|
||||||
static ::testing::internal::ParamGenerator<test_case_name::ParamType> \
|
static ::testing::internal::ParamGenerator<test_case_name::ParamType> \
|
||||||
gtest_##prefix##test_case_name##_EvalGenerator_() { return generator; } \
|
gtest_##prefix##test_case_name##_EvalGenerator_() { \
|
||||||
static ::std::string gtest_##prefix##test_case_name##_EvalGenerateName_( \
|
return generator; \
|
||||||
const ::testing::TestParamInfo<test_case_name::ParamType>& info) { \
|
} \
|
||||||
return ::testing::internal::GetParamNameGen<test_case_name::ParamType> \
|
static ::std::string gtest_##prefix##test_case_name##_EvalGenerateName_( \
|
||||||
(__VA_ARGS__)(info); \
|
const ::testing::TestParamInfo<test_case_name::ParamType>& info) { \
|
||||||
} \
|
return ::testing::internal::GetParamNameGen<test_case_name::ParamType>( \
|
||||||
|
__VA_ARGS__)(info); \
|
||||||
|
} \
|
||||||
static int gtest_##prefix##test_case_name##_dummy_ GTEST_ATTRIBUTE_UNUSED_ = \
|
static int gtest_##prefix##test_case_name##_dummy_ GTEST_ATTRIBUTE_UNUSED_ = \
|
||||||
::testing::UnitTest::GetInstance()->parameterized_test_registry(). \
|
::testing::UnitTest::GetInstance() \
|
||||||
GetTestCasePatternHolder<test_case_name>(\
|
->parameterized_test_registry() \
|
||||||
#test_case_name, \
|
.GetTestCasePatternHolder<test_case_name>( \
|
||||||
::testing::internal::CodeLocation(\
|
#test_case_name, \
|
||||||
__FILE__, __LINE__))->AddTestCaseInstantiation(\
|
::testing::internal::CodeLocation(__FILE__, __LINE__)) \
|
||||||
#prefix, \
|
->AddTestCaseInstantiation( \
|
||||||
>est_##prefix##test_case_name##_EvalGenerator_, \
|
#prefix, >est_##prefix##test_case_name##_EvalGenerator_, \
|
||||||
>est_##prefix##test_case_name##_EvalGenerateName_, \
|
>est_##prefix##test_case_name##_EvalGenerateName_, __FILE__, \
|
||||||
__FILE__, __LINE__)
|
__LINE__)
|
||||||
|
|
||||||
} // namespace testing
|
} // namespace testing
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ TEST_P(FooTest, HasBlahBlah) {
|
||||||
// Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test
|
// Finally, you can use INSTANTIATE_TEST_CASE_P to instantiate the test
|
||||||
// case with any set of parameters you want. Google Test defines a number
|
// case with any set of parameters you want. Google Test defines a number
|
||||||
// of functions for generating test parameters. They return what we call
|
// of functions for generating test parameters. They return what we call
|
||||||
// (surprise!) parameter generators. Here is a summary of them, which
|
// (surprise!) parameter generators. Here is a summary of them, which
|
||||||
// are all in the testing namespace:
|
// are all in the testing namespace:
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
@ -267,7 +267,7 @@ internal::ParamGenerator<T> Range(T start, T end) {
|
||||||
// each with C-string values of "foo", "bar", and "baz":
|
// each with C-string values of "foo", "bar", and "baz":
|
||||||
//
|
//
|
||||||
// const char* strings[] = {"foo", "bar", "baz"};
|
// const char* strings[] = {"foo", "bar", "baz"};
|
||||||
// INSTANTIATE_TEST_CASE_P(StringSequence, SrtingTest, ValuesIn(strings));
|
// INSTANTIATE_TEST_CASE_P(StringSequence, StringTest, ValuesIn(strings));
|
||||||
//
|
//
|
||||||
// This instantiates tests from test case StlStringTest
|
// This instantiates tests from test case StlStringTest
|
||||||
// each with STL strings with values "a" and "b":
|
// each with STL strings with values "a" and "b":
|
||||||
|
|
|
@ -243,7 +243,7 @@ INSTANTIATE_TYPED_TEST_CASE_P(My, FooTest, MyTypes);
|
||||||
} \
|
} \
|
||||||
static const char* const GTEST_REGISTERED_TEST_NAMES_(CaseName) \
|
static const char* const GTEST_REGISTERED_TEST_NAMES_(CaseName) \
|
||||||
GTEST_ATTRIBUTE_UNUSED_ = \
|
GTEST_ATTRIBUTE_UNUSED_ = \
|
||||||
GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).VerifyRegisteredTestNames(\
|
GTEST_TYPED_TEST_CASE_P_STATE_(CaseName).VerifyRegisteredTestNames( \
|
||||||
__FILE__, __LINE__, #__VA_ARGS__)
|
__FILE__, __LINE__, #__VA_ARGS__)
|
||||||
|
|
||||||
// The 'Types' template argument below must have spaces around it
|
// The 'Types' template argument below must have spaces around it
|
||||||
|
|
|
@ -3203,7 +3203,7 @@ class CartesianProductGenerator2
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -3235,7 +3235,7 @@ class CartesianProductGenerator2
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_);
|
current_value_.reset(new ParamType(*current1_, *current2_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -3257,7 +3257,7 @@ class CartesianProductGenerator2
|
||||||
const typename ParamGenerator<T2>::iterator begin2_;
|
const typename ParamGenerator<T2>::iterator begin2_;
|
||||||
const typename ParamGenerator<T2>::iterator end2_;
|
const typename ParamGenerator<T2>::iterator end2_;
|
||||||
typename ParamGenerator<T2>::iterator current2_;
|
typename ParamGenerator<T2>::iterator current2_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator2::Iterator
|
}; // class CartesianProductGenerator2::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -3326,7 +3326,7 @@ class CartesianProductGenerator3
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -3362,7 +3362,7 @@ class CartesianProductGenerator3
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_);
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -3388,7 +3388,7 @@ class CartesianProductGenerator3
|
||||||
const typename ParamGenerator<T3>::iterator begin3_;
|
const typename ParamGenerator<T3>::iterator begin3_;
|
||||||
const typename ParamGenerator<T3>::iterator end3_;
|
const typename ParamGenerator<T3>::iterator end3_;
|
||||||
typename ParamGenerator<T3>::iterator current3_;
|
typename ParamGenerator<T3>::iterator current3_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator3::Iterator
|
}; // class CartesianProductGenerator3::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -3467,7 +3467,7 @@ class CartesianProductGenerator4
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -3507,8 +3507,8 @@ class CartesianProductGenerator4
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_);
|
*current4_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -3538,7 +3538,7 @@ class CartesianProductGenerator4
|
||||||
const typename ParamGenerator<T4>::iterator begin4_;
|
const typename ParamGenerator<T4>::iterator begin4_;
|
||||||
const typename ParamGenerator<T4>::iterator end4_;
|
const typename ParamGenerator<T4>::iterator end4_;
|
||||||
typename ParamGenerator<T4>::iterator current4_;
|
typename ParamGenerator<T4>::iterator current4_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator4::Iterator
|
}; // class CartesianProductGenerator4::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -3625,7 +3625,7 @@ class CartesianProductGenerator5
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -3669,8 +3669,8 @@ class CartesianProductGenerator5
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_, *current5_);
|
*current4_, *current5_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -3704,7 +3704,7 @@ class CartesianProductGenerator5
|
||||||
const typename ParamGenerator<T5>::iterator begin5_;
|
const typename ParamGenerator<T5>::iterator begin5_;
|
||||||
const typename ParamGenerator<T5>::iterator end5_;
|
const typename ParamGenerator<T5>::iterator end5_;
|
||||||
typename ParamGenerator<T5>::iterator current5_;
|
typename ParamGenerator<T5>::iterator current5_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator5::Iterator
|
}; // class CartesianProductGenerator5::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -3802,7 +3802,7 @@ class CartesianProductGenerator6
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -3850,8 +3850,8 @@ class CartesianProductGenerator6
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_, *current5_, *current6_);
|
*current4_, *current5_, *current6_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -3889,7 +3889,7 @@ class CartesianProductGenerator6
|
||||||
const typename ParamGenerator<T6>::iterator begin6_;
|
const typename ParamGenerator<T6>::iterator begin6_;
|
||||||
const typename ParamGenerator<T6>::iterator end6_;
|
const typename ParamGenerator<T6>::iterator end6_;
|
||||||
typename ParamGenerator<T6>::iterator current6_;
|
typename ParamGenerator<T6>::iterator current6_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator6::Iterator
|
}; // class CartesianProductGenerator6::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -3996,7 +3996,7 @@ class CartesianProductGenerator7
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -4048,8 +4048,8 @@ class CartesianProductGenerator7
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_, *current5_, *current6_, *current7_);
|
*current4_, *current5_, *current6_, *current7_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -4091,7 +4091,7 @@ class CartesianProductGenerator7
|
||||||
const typename ParamGenerator<T7>::iterator begin7_;
|
const typename ParamGenerator<T7>::iterator begin7_;
|
||||||
const typename ParamGenerator<T7>::iterator end7_;
|
const typename ParamGenerator<T7>::iterator end7_;
|
||||||
typename ParamGenerator<T7>::iterator current7_;
|
typename ParamGenerator<T7>::iterator current7_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator7::Iterator
|
}; // class CartesianProductGenerator7::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -4209,7 +4209,7 @@ class CartesianProductGenerator8
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -4265,8 +4265,8 @@ class CartesianProductGenerator8
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_, *current5_, *current6_, *current7_, *current8_);
|
*current4_, *current5_, *current6_, *current7_, *current8_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -4312,7 +4312,7 @@ class CartesianProductGenerator8
|
||||||
const typename ParamGenerator<T8>::iterator begin8_;
|
const typename ParamGenerator<T8>::iterator begin8_;
|
||||||
const typename ParamGenerator<T8>::iterator end8_;
|
const typename ParamGenerator<T8>::iterator end8_;
|
||||||
typename ParamGenerator<T8>::iterator current8_;
|
typename ParamGenerator<T8>::iterator current8_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator8::Iterator
|
}; // class CartesianProductGenerator8::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -4438,7 +4438,7 @@ class CartesianProductGenerator9
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -4498,9 +4498,9 @@ class CartesianProductGenerator9
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_, *current5_, *current6_, *current7_, *current8_,
|
*current4_, *current5_, *current6_, *current7_, *current8_,
|
||||||
*current9_);
|
*current9_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -4550,7 +4550,7 @@ class CartesianProductGenerator9
|
||||||
const typename ParamGenerator<T9>::iterator begin9_;
|
const typename ParamGenerator<T9>::iterator begin9_;
|
||||||
const typename ParamGenerator<T9>::iterator end9_;
|
const typename ParamGenerator<T9>::iterator end9_;
|
||||||
typename ParamGenerator<T9>::iterator current9_;
|
typename ParamGenerator<T9>::iterator current9_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator9::Iterator
|
}; // class CartesianProductGenerator9::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
@ -4685,7 +4685,7 @@ class CartesianProductGenerator10
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -4749,9 +4749,9 @@ class CartesianProductGenerator10
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType(*current1_, *current2_, *current3_,
|
current_value_.reset(new ParamType(*current1_, *current2_, *current3_,
|
||||||
*current4_, *current5_, *current6_, *current7_, *current8_,
|
*current4_, *current5_, *current6_, *current7_, *current8_,
|
||||||
*current9_, *current10_);
|
*current9_, *current10_));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -4805,7 +4805,7 @@ class CartesianProductGenerator10
|
||||||
const typename ParamGenerator<T10>::iterator begin10_;
|
const typename ParamGenerator<T10>::iterator begin10_;
|
||||||
const typename ParamGenerator<T10>::iterator end10_;
|
const typename ParamGenerator<T10>::iterator end10_;
|
||||||
typename ParamGenerator<T10>::iterator current10_;
|
typename ParamGenerator<T10>::iterator current10_;
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator10::Iterator
|
}; // class CartesianProductGenerator10::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
|
|
@ -160,7 +160,7 @@ $for k [[
|
||||||
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
virtual ParamIteratorInterface<ParamType>* Clone() const {
|
||||||
return new Iterator(*this);
|
return new Iterator(*this);
|
||||||
}
|
}
|
||||||
virtual const ParamType* Current() const { return ¤t_value_; }
|
virtual const ParamType* Current() const { return current_value_.get(); }
|
||||||
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
|
||||||
// Having the same base generator guarantees that the other
|
// Having the same base generator guarantees that the other
|
||||||
// iterator is of the same type and we can downcast.
|
// iterator is of the same type and we can downcast.
|
||||||
|
@ -192,7 +192,7 @@ $for k [[
|
||||||
|
|
||||||
void ComputeCurrentValue() {
|
void ComputeCurrentValue() {
|
||||||
if (!AtEnd())
|
if (!AtEnd())
|
||||||
current_value_ = ParamType($for j, [[*current$(j)_]]);
|
current_value_.reset(new ParamType($for j, [[*current$(j)_]]));
|
||||||
}
|
}
|
||||||
bool AtEnd() const {
|
bool AtEnd() const {
|
||||||
// We must report iterator past the end of the range when either of the
|
// We must report iterator past the end of the range when either of the
|
||||||
|
@ -217,7 +217,7 @@ $for j [[
|
||||||
typename ParamGenerator<T$j>::iterator current$(j)_;
|
typename ParamGenerator<T$j>::iterator current$(j)_;
|
||||||
]]
|
]]
|
||||||
|
|
||||||
ParamType current_value_;
|
linked_ptr<ParamType> current_value_;
|
||||||
}; // class CartesianProductGenerator$i::Iterator
|
}; // class CartesianProductGenerator$i::Iterator
|
||||||
|
|
||||||
// No implementation - assignment is unsupported.
|
// No implementation - assignment is unsupported.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user