Googletest export
Remove non-variadic pre C++11 ElementsAreMatcher and UnorderedElementsAreMatcher PiperOrigin-RevId: 214266944
This commit is contained in:
		@@ -263,75 +263,6 @@ Args(const InnerMatcher& matcher) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
]]
 | 
			
		||||
// ElementsAre(e_1, e_2, ... e_n) matches an STL-style container with
 | 
			
		||||
// n elements, where the i-th element in the container must
 | 
			
		||||
// match the i-th argument in the list.  Each argument of
 | 
			
		||||
// ElementsAre() can be either a value or a matcher.  We support up to
 | 
			
		||||
// $n arguments.
 | 
			
		||||
//
 | 
			
		||||
// The use of DecayArray in the implementation allows ElementsAre()
 | 
			
		||||
// to accept string literals, whose type is const char[N], but we
 | 
			
		||||
// want to treat them as const char*.
 | 
			
		||||
//
 | 
			
		||||
// NOTE: Since ElementsAre() cares about the order of the elements, it
 | 
			
		||||
// must not be used with containers whose elements's order is
 | 
			
		||||
// undefined (e.g. hash_map).
 | 
			
		||||
 | 
			
		||||
$range i 0..n
 | 
			
		||||
$for i [[
 | 
			
		||||
 | 
			
		||||
$range j 1..i
 | 
			
		||||
 | 
			
		||||
$if i>0 [[
 | 
			
		||||
 | 
			
		||||
template <$for j, [[typename T$j]]>
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
inline internal::ElementsAreMatcher<
 | 
			
		||||
    ::testing::tuple<
 | 
			
		||||
$for j, [[
 | 
			
		||||
 | 
			
		||||
        typename internal::DecayArray<T$j[[]]>::type]]> >
 | 
			
		||||
ElementsAre($for j, [[const T$j& e$j]]) {
 | 
			
		||||
  typedef ::testing::tuple<
 | 
			
		||||
$for j, [[
 | 
			
		||||
 | 
			
		||||
      typename internal::DecayArray<T$j[[]]>::type]]> Args;
 | 
			
		||||
  return internal::ElementsAreMatcher<Args>(Args($for j, [[e$j]]));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
// UnorderedElementsAre(e_1, e_2, ..., e_n) is an ElementsAre extension
 | 
			
		||||
// that matches n elements in any order.  We support up to n=$n arguments.
 | 
			
		||||
//
 | 
			
		||||
// If you have >$n elements, consider UnorderedElementsAreArray() or
 | 
			
		||||
// UnorderedPointwise() instead.
 | 
			
		||||
 | 
			
		||||
$range i 0..n
 | 
			
		||||
$for i [[
 | 
			
		||||
 | 
			
		||||
$range j 1..i
 | 
			
		||||
 | 
			
		||||
$if i>0 [[
 | 
			
		||||
 | 
			
		||||
template <$for j, [[typename T$j]]>
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
inline internal::UnorderedElementsAreMatcher<
 | 
			
		||||
    ::testing::tuple<
 | 
			
		||||
$for j, [[
 | 
			
		||||
 | 
			
		||||
        typename internal::DecayArray<T$j[[]]>::type]]> >
 | 
			
		||||
UnorderedElementsAre($for j, [[const T$j& e$j]]) {
 | 
			
		||||
  typedef ::testing::tuple<
 | 
			
		||||
$for j, [[
 | 
			
		||||
 | 
			
		||||
      typename internal::DecayArray<T$j[[]]>::type]]> Args;
 | 
			
		||||
  return internal::UnorderedElementsAreMatcher<Args>(Args($for j, [[e$j]]));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
// AllOf(m1, m2, ..., mk) matches any value that matches all of the given
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user