Implements Pointwise().

This commit is contained in:
zhanyong.wan
2010-05-17 19:32:48 +00:00
parent 0f3f5012d8
commit ab5b77c179
6 changed files with 344 additions and 96 deletions

View File

@@ -221,7 +221,7 @@ template <class ArgsTuple, int k0 = -1, int k1 = -1, int k2 = -1, int k3 = -1,
class ArgsMatcherImpl : public MatcherInterface<ArgsTuple> {
public:
// ArgsTuple may have top-level const or reference modifiers.
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(ArgsTuple)) RawArgsTuple;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(ArgsTuple) RawArgsTuple;
typedef typename internal::TupleFields<RawArgsTuple, k0, k1, k2, k3, k4, k5,
k6, k7, k8, k9>::type SelectedArgs;
typedef Matcher<const SelectedArgs&> MonomorphicInnerMatcher;
@@ -314,8 +314,7 @@ class ElementsAreMatcher1 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -343,8 +342,7 @@ class ElementsAreMatcher2 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -371,8 +369,7 @@ class ElementsAreMatcher3 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -401,8 +398,7 @@ class ElementsAreMatcher4 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -433,8 +429,7 @@ class ElementsAreMatcher5 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -469,8 +464,7 @@ class ElementsAreMatcher6 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -507,8 +501,7 @@ class ElementsAreMatcher7 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -547,8 +540,7 @@ class ElementsAreMatcher8 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -590,8 +582,7 @@ class ElementsAreMatcher9 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;
@@ -635,8 +626,7 @@ class ElementsAreMatcher10 {
template <typename Container>
operator Matcher<Container>() const {
typedef GTEST_REMOVE_CONST_(GTEST_REMOVE_REFERENCE_(Container))
RawContainer;
typedef GTEST_REMOVE_REFERENCE_AND_CONST_(Container) RawContainer;
typedef typename internal::StlContainerView<RawContainer>::type::value_type
Element;