File indexing completed on 2024-09-22 04:53:11

0001 /*
0002  * SPDX-FileCopyrightText: 2008 Trevor Pounds
0003  * SPDX-License-Identifier: MIT
0004  */
0005 
0006 #ifndef __MOCKITOPP_MATCHER_ANY_HPP__
0007 #define __MOCKITOPP_MATCHER_ANY_HPP__
0008 
0009 #include <mockitopp/matchers/Matcher.hpp>
0010 
0011 namespace mockitopp
0012 {
0013    namespace matcher
0014    {
0015       namespace detail
0016       {
0017          template <typename T>
0018          struct AnyT : public Matcher<T>
0019          {
0020             AnyT()
0021                {}
0022 
0023             Matcher<T>* clone() const override
0024                { return new AnyT(); }
0025 
0026             bool operator== (typename mockitopp::detail::tr1::add_reference<typename mockitopp::detail::tr1::add_const<T>::type>::type rhs) const override
0027             { 
0028                (void)rhs;
0029                return true; 
0030             }
0031          };
0032       } // namespace detail
0033 
0034       template <typename T>
0035       detail::AnyT<T> any()
0036          { return detail::AnyT<T>(); }
0037    } // namespace matcher
0038 } // namespace mockitopp
0039 
0040 #endif //__MOCKITOPP_MATCHER_ANY_HPP__