remove MSVC workaround: cease const dropping
This commit is contained in:
parent
f9665846e4
commit
6748df1eab
|
@ -4057,11 +4057,8 @@ template <typename Container>
|
||||||
inline PolymorphicMatcher<internal::ContainerEqMatcher<
|
inline PolymorphicMatcher<internal::ContainerEqMatcher<
|
||||||
typename std::remove_const<Container>::type>>
|
typename std::remove_const<Container>::type>>
|
||||||
ContainerEq(const Container& rhs) {
|
ContainerEq(const Container& rhs) {
|
||||||
// This following line is for working around a bug in MSVC 8.0,
|
|
||||||
// which causes Container to be a const type sometimes.
|
|
||||||
typedef typename std::remove_const<Container>::type RawContainer;
|
|
||||||
return MakePolymorphicMatcher(
|
return MakePolymorphicMatcher(
|
||||||
internal::ContainerEqMatcher<RawContainer>(rhs));
|
internal::ContainerEqMatcher<Container>(rhs));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns a matcher that matches a container that, when sorted using
|
// Returns a matcher that matches a container that, when sorted using
|
||||||
|
@ -4094,11 +4091,7 @@ template <typename TupleMatcher, typename Container>
|
||||||
inline internal::PointwiseMatcher<TupleMatcher,
|
inline internal::PointwiseMatcher<TupleMatcher,
|
||||||
typename std::remove_const<Container>::type>
|
typename std::remove_const<Container>::type>
|
||||||
Pointwise(const TupleMatcher& tuple_matcher, const Container& rhs) {
|
Pointwise(const TupleMatcher& tuple_matcher, const Container& rhs) {
|
||||||
// This following line is for working around a bug in MSVC 8.0,
|
return internal::PointwiseMatcher<TupleMatcher, Container>(
|
||||||
// which causes Container to be a const type sometimes (e.g. when
|
|
||||||
// rhs is a const int[])..
|
|
||||||
typedef typename std::remove_const<Container>::type RawContainer;
|
|
||||||
return internal::PointwiseMatcher<TupleMatcher, RawContainer>(
|
|
||||||
tuple_matcher, rhs);
|
tuple_matcher, rhs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4130,14 +4123,10 @@ inline internal::UnorderedElementsAreArrayMatcher<
|
||||||
typename std::remove_const<RhsContainer>::type>::type::value_type>>
|
typename std::remove_const<RhsContainer>::type>::type::value_type>>
|
||||||
UnorderedPointwise(const Tuple2Matcher& tuple2_matcher,
|
UnorderedPointwise(const Tuple2Matcher& tuple2_matcher,
|
||||||
const RhsContainer& rhs_container) {
|
const RhsContainer& rhs_container) {
|
||||||
// This following line is for working around a bug in MSVC 8.0,
|
|
||||||
// which causes RhsContainer to be a const type sometimes (e.g. when
|
|
||||||
// rhs_container is a const int[]).
|
|
||||||
typedef typename std::remove_const<RhsContainer>::type RawRhsContainer;
|
|
||||||
|
|
||||||
// RhsView allows the same code to handle RhsContainer being a
|
// RhsView allows the same code to handle RhsContainer being a
|
||||||
// STL-style container and it being a native C-style array.
|
// STL-style container and it being a native C-style array.
|
||||||
typedef typename internal::StlContainerView<RawRhsContainer> RhsView;
|
typedef typename internal::StlContainerView<RhsContainer> RhsView;
|
||||||
typedef typename RhsView::type RhsStlContainer;
|
typedef typename RhsView::type RhsStlContainer;
|
||||||
typedef typename RhsStlContainer::value_type Second;
|
typedef typename RhsStlContainer::value_type Second;
|
||||||
const RhsStlContainer& rhs_stl_container =
|
const RhsStlContainer& rhs_stl_container =
|
||||||
|
|
Loading…
Reference in New Issue
Block a user