Lines Matching defs:internal

272 #include "gmock/internal/gmock-internal-utils.h"
273 #include "gmock/internal/gmock-port.h"
274 #include "gmock/internal/gmock-pp.h"
287 /* Symbol involving type with internal linkage not defined */)
322 // Anything inside the 'internal' namespace IS INTERNAL IMPLEMENTATION
324 namespace internal {
505 } // namespace internal
513 return internal::MatcherCastImpl<T, M>::Cast(matcher);
545 constexpr bool kTIsOther = GMOCK_KIND_OF_(RawT) == internal::kOther;
546 constexpr bool kUIsOther = GMOCK_KIND_OF_(RawU) == internal::kOther;
549 (internal::LosslessArithmeticConvertible<RawT, RawU>::value),
558 // Anything inside the 'internal' namespace IS INTERNAL IMPLEMENTATION
560 namespace internal {
608 // An internal helper class for doing compile-time loop on a tuple's
650 internal::UniversalPrint(value, os);
701 // TransformTupleValuesHelper hides the internal machinery that
902 bool MatchAndExplain(const internal::StringView& s,
970 bool MatchAndExplain(const internal::StringView& s,
1023 bool MatchAndExplain(const internal::StringView& s,
1077 bool MatchAndExplain(const internal::StringView& s,
1138 if (!internal::Base64Unescape(s2, &unescaped)) {
2356 typedef internal::StlContainerView<GTEST_REMOVE_REFERENCE_AND_CONST_(
2409 typedef internal::StlContainerView<Container> View;
2435 typedef internal::StlContainerView<
2447 if (internal::ArrayAwareFind(expected_.begin(), expected_.end(), *it) ==
2462 if (internal::ArrayAwareFind(lhs_stl_container.begin(),
2508 typedef internal::StlContainerView<GTEST_REMOVE_REFERENCE_AND_CONST_(
2581 typedef internal::StlContainerView<RhsContainer> RhsView;
2608 typedef internal::StlContainerView<GTEST_REMOVE_REFERENCE_AND_CONST_(
3367 typedef internal::StlContainerView<RawContainer> View;
3613 typedef internal::StlContainerView<RawContainer> View;
3704 typedef typename internal::StlContainerView<RawContainer>::type View;
3735 typedef typename internal::StlContainerView<RawContainer>::type View;
3981 return internal::GetTypeName<T>());
4042 return internal::GetTypeName<T>());
4130 } // namespace internal
4148 inline internal::ElementsAreArrayMatcher<
4152 return internal::ElementsAreArrayMatcher<T>(first, last);
4193 inline internal::UnorderedElementsAreArrayMatcher<
4197 return internal::UnorderedElementsAreArrayMatcher<T>(
4198 internal::UnorderedMatcherRequire::ExactMatch, first, last);
4202 inline internal::UnorderedElementsAreArrayMatcher<T> UnorderedElementsAreArray(
4208 inline internal::UnorderedElementsAreArrayMatcher<T> UnorderedElementsAreArray(
4214 inline internal::UnorderedElementsAreArrayMatcher<
4221 inline internal::UnorderedElementsAreArrayMatcher<T> UnorderedElementsAreArray(
4235 const internal::AnythingMatcher _ = {};
4249 Matcher<T> internal::MatcherCastImpl<T, M>::CastImpl(
4256 inline PolymorphicMatcher<internal::IsNullMatcher> IsNull() {
4257 return MakePolymorphicMatcher(internal::IsNullMatcher());
4263 inline PolymorphicMatcher<internal::NotNullMatcher> NotNull() {
4264 return MakePolymorphicMatcher(internal::NotNullMatcher());
4270 inline internal::RefMatcher<T&> Ref(T& x) { // NOLINT
4271 return internal::RefMatcher<T&>(x);
4275 inline PolymorphicMatcher<internal::IsNanMatcher> IsNan() {
4276 return MakePolymorphicMatcher(internal::IsNanMatcher());
4281 inline internal::FloatingEqMatcher<double> DoubleEq(double rhs) {
4282 return internal::FloatingEqMatcher<double>(rhs, false);
4287 inline internal::FloatingEqMatcher<double> NanSensitiveDoubleEq(double rhs) {
4288 return internal::FloatingEqMatcher<double>(rhs, true);
4294 inline internal::FloatingEqMatcher<double> DoubleNear(double rhs,
4296 return internal::FloatingEqMatcher<double>(rhs, false, max_abs_error);
4302 inline internal::FloatingEqMatcher<double> NanSensitiveDoubleNear(
4304 return internal::FloatingEqMatcher<double>(rhs, true, max_abs_error);
4309 inline internal::FloatingEqMatcher<float> FloatEq(float rhs) {
4310 return internal::FloatingEqMatcher<float>(rhs, false);
4315 inline internal::FloatingEqMatcher<float> NanSensitiveFloatEq(float rhs) {
4316 return internal::FloatingEqMatcher<float>(rhs, true);
4322 inline internal::FloatingEqMatcher<float> FloatNear(float rhs,
4324 return internal::FloatingEqMatcher<float>(rhs, false, max_abs_error);
4330 inline internal::FloatingEqMatcher<float> NanSensitiveFloatNear(
4332 return internal::FloatingEqMatcher<float>(rhs, true, max_abs_error);
4338 inline internal::PointeeMatcher<InnerMatcher> Pointee(
4340 return internal::PointeeMatcher<InnerMatcher>(inner_matcher);
4351 inline PolymorphicMatcher<internal::WhenDynamicCastToMatcher<To>>
4354 internal::WhenDynamicCastToMatcher<To>(inner_matcher));
4363 inline PolymorphicMatcher<internal::FieldMatcher<Class, FieldType>> Field(
4365 return MakePolymorphicMatcher(internal::FieldMatcher<Class, FieldType>(
4376 inline PolymorphicMatcher<internal::FieldMatcher<Class, FieldType>> Field(
4379 return MakePolymorphicMatcher(internal::FieldMatcher<Class, FieldType>(
4388 inline PolymorphicMatcher<internal::PropertyMatcher<
4393 internal::PropertyMatcher<Class, PropertyType,
4405 inline PolymorphicMatcher<internal::PropertyMatcher<
4411 internal::PropertyMatcher<Class, PropertyType,
4418 inline PolymorphicMatcher<internal::PropertyMatcher<
4423 internal::PropertyMatcher<Class, PropertyType,
4430 inline PolymorphicMatcher<internal::PropertyMatcher<
4436 internal::PropertyMatcher<Class, PropertyType,
4450 internal::ResultOfMatcher<Callable, InnerMatcher> ResultOf(
4452 return internal::ResultOfMatcher<Callable, InnerMatcher>(std::move(callable),
4459 internal::ResultOfMatcher<Callable, InnerMatcher> ResultOf(
4462 return internal::ResultOfMatcher<Callable, InnerMatcher>(
4470 PolymorphicMatcher<internal::StrEqualityMatcher<std::string>> StrEq(
4471 const internal::StringLike<T>& str) {
4473 internal::StrEqualityMatcher<std::string>(std::string(str), true, true));
4478 PolymorphicMatcher<internal::StrEqualityMatcher<std::string>> StrNe(
4479 const internal::StringLike<T>& str) {
4481 internal::StrEqualityMatcher<std::string>(std::string(str), false, true));
4486 PolymorphicMatcher<internal::StrEqualityMatcher<std::string>> StrCaseEq(
4487 const internal::StringLike<T>& str) {
4489 internal::StrEqualityMatcher<std::string>(std::string(str), true, false));
4494 PolymorphicMatcher<internal::StrEqualityMatcher<std::string>> StrCaseNe(
4495 const internal::StringLike<T>& str) {
4496 return MakePolymorphicMatcher(internal::StrEqualityMatcher<std::string>(
4503 PolymorphicMatcher<internal::HasSubstrMatcher<std::string>> HasSubstr(
4504 const internal::StringLike<T>& substring) {
4506 internal::HasSubstrMatcher<std::string>(std::string(substring)));
4511 PolymorphicMatcher<internal::StartsWithMatcher<std::string>> StartsWith(
4512 const internal::StringLike<T>& prefix) {
4514 internal::StartsWithMatcher<std::string>(std::string(prefix)));
4519 PolymorphicMatcher<internal::EndsWithMatcher<std::string>> EndsWith(
4520 const internal::StringLike<T>& suffix) {
4522 internal::EndsWithMatcher<std::string>(std::string(suffix)));
4529 inline PolymorphicMatcher<internal::StrEqualityMatcher<std::wstring>> StrEq(
4532 internal::StrEqualityMatcher<std::wstring>(str, true, true));
4536 inline PolymorphicMatcher<internal::StrEqualityMatcher<std::wstring>> StrNe(
4539 internal::StrEqualityMatcher<std::wstring>(str, false, true));
4543 inline PolymorphicMatcher<internal::StrEqualityMatcher<std::wstring>> StrCaseEq(
4546 internal::StrEqualityMatcher<std::wstring>(str, true, false));
4550 inline PolymorphicMatcher<internal::StrEqualityMatcher<std::wstring>> StrCaseNe(
4553 internal::StrEqualityMatcher<std::wstring>(str, false, false));
4558 inline PolymorphicMatcher<internal::HasSubstrMatcher<std::wstring>> HasSubstr(
4561 internal::HasSubstrMatcher<std::wstring>(substring));
4565 inline PolymorphicMatcher<internal::StartsWithMatcher<std::wstring>> StartsWith(
4568 internal::StartsWithMatcher<std::wstring>(prefix));
4572 inline PolymorphicMatcher<internal::EndsWithMatcher<std::wstring>> EndsWith(
4575 internal::EndsWithMatcher<std::wstring>(suffix));
4582 inline internal::Eq2Matcher Eq() { return internal::Eq2Matcher(); }
4586 inline internal::Ge2Matcher Ge() { return internal::Ge2Matcher(); }
4590 inline internal::Gt2Matcher Gt() { return internal::Gt2Matcher(); }
4594 inline internal::Le2Matcher Le() { return internal::Le2Matcher(); }
4598 inline internal::Lt2Matcher Lt() { return internal::Lt2Matcher(); }
4602 inline internal::Ne2Matcher Ne() { return internal::Ne2Matcher(); }
4606 inline internal::FloatingEq2Matcher<float> FloatEq() {
4607 return internal::FloatingEq2Matcher<float>();
4612 inline internal::FloatingEq2Matcher<double> DoubleEq() {
4613 return internal::FloatingEq2Matcher<double>();
4618 inline internal::FloatingEq2Matcher<float> NanSensitiveFloatEq() {
4619 return internal::FloatingEq2Matcher<float>(true);
4624 inline internal::FloatingEq2Matcher<double> NanSensitiveDoubleEq() {
4625 return internal::FloatingEq2Matcher<double>(true);
4630 inline internal::FloatingEq2Matcher<float> FloatNear(float max_abs_error) {
4631 return internal::FloatingEq2Matcher<float>(max_abs_error);
4636 inline internal::FloatingEq2Matcher<double> DoubleNear(double max_abs_error) {
4637 return internal::FloatingEq2Matcher<double>(max_abs_error);
4643 inline internal::FloatingEq2Matcher<float> NanSensitiveFloatNear(
4645 return internal::FloatingEq2Matcher<float>(max_abs_error, true);
4651 inline internal::FloatingEq2Matcher<double> NanSensitiveDoubleNear(
4653 return internal::FloatingEq2Matcher<double>(max_abs_error, true);
4659 inline internal::NotMatcher<InnerMatcher> Not(InnerMatcher m) {
4660 return internal::NotMatcher<InnerMatcher>(m);
4667 inline PolymorphicMatcher<internal::TrulyMatcher<Predicate>> Truly(
4669 return MakePolymorphicMatcher(internal::TrulyMatcher<Predicate>(pred));
4679 inline internal::SizeIsMatcher<SizeMatcher> SizeIs(
4681 return internal::SizeIsMatcher<SizeMatcher>(size_matcher);
4690 inline internal::BeginEndDistanceIsMatcher<DistanceMatcher> BeginEndDistanceIs(
4692 return internal::BeginEndDistanceIsMatcher<DistanceMatcher>(distance_matcher);
4701 internal::ContainerEqMatcher<typename std::remove_const<Container>::type>>
4703 return MakePolymorphicMatcher(internal::ContainerEqMatcher<Container>(rhs));
4709 inline internal::WhenSortedByMatcher<Comparator, ContainerMatcher> WhenSortedBy(
4711 return internal::WhenSortedByMatcher<Comparator, ContainerMatcher>(
4718 inline internal::WhenSortedByMatcher<internal::LessComparator, ContainerMatcher>
4720 return internal::WhenSortedByMatcher<internal::LessComparator,
4722 internal::LessComparator(), container_matcher);
4732 inline internal::PointwiseMatcher<TupleMatcher,
4735 return internal::PointwiseMatcher<TupleMatcher, Container>(tuple_matcher,
4741 inline internal::PointwiseMatcher<TupleMatcher, std::vector<T>> Pointwise(
4758 inline internal::UnorderedElementsAreArrayMatcher<
4759 typename internal::BoundSecondMatcher<
4761 typename internal::StlContainerView<
4767 typedef typename internal::StlContainerView<RhsContainer> RhsView;
4774 ::std::vector<internal::BoundSecondMatcher<Tuple2Matcher, Second>> matchers;
4777 matchers.push_back(internal::MatcherBindSecond(tuple2_matcher, *it));
4786 inline internal::UnorderedElementsAreArrayMatcher<
4787 typename internal::BoundSecondMatcher<Tuple2Matcher, T>>
4825 inline internal::ContainsMatcher<M> Contains(M matcher) {
4826 return internal::ContainsMatcher<M>(matcher);
4857 inline internal::UnorderedElementsAreArrayMatcher<
4861 return internal::UnorderedElementsAreArrayMatcher<T>(
4862 internal::UnorderedMatcherRequire::Superset, first, last);
4866 inline internal::UnorderedElementsAreArrayMatcher<T> IsSupersetOf(
4872 inline internal::UnorderedElementsAreArrayMatcher<T> IsSupersetOf(
4878 inline internal::UnorderedElementsAreArrayMatcher<
4885 inline internal::UnorderedElementsAreArrayMatcher<T> IsSupersetOf(
4914 inline internal::UnorderedElementsAreArrayMatcher<
4918 return internal::UnorderedElementsAreArrayMatcher<T>(
4919 internal::UnorderedMatcherRequire::Subset, first, last);
4923 inline internal::UnorderedElementsAreArrayMatcher<T> IsSubsetOf(
4929 inline internal::UnorderedElementsAreArrayMatcher<T> IsSubsetOf(
4935 inline internal::UnorderedElementsAreArrayMatcher<
4942 inline internal::UnorderedElementsAreArrayMatcher<T> IsSubsetOf(
4975 inline internal::EachMatcher<M> Each(M matcher) {
4976 return internal::EachMatcher<M>(matcher);
4983 inline internal::KeyMatcher<M> Key(M inner_matcher) {
4984 return internal::KeyMatcher<M>(inner_matcher);
4993 inline internal::PairMatcher<FirstMatcher, SecondMatcher> Pair(
4995 return internal::PairMatcher<FirstMatcher, SecondMatcher>(first_matcher,
5006 internal::ConditionalMatcher<MatcherTrue, MatcherFalse> Conditional(
5008 return internal::ConditionalMatcher<MatcherTrue, MatcherFalse>(
5017 internal::FieldsAreMatcher<typename std::decay<M>::type...> FieldsAre(
5019 return internal::FieldsAreMatcher<typename std::decay<M>::type...>(
5026 inline internal::PointerMatcher<InnerMatcher> Pointer(
5028 return internal::PointerMatcher<InnerMatcher>(inner_matcher);
5034 inline internal::AddressMatcher<InnerMatcher> Address(
5036 return internal::AddressMatcher<InnerMatcher>(inner_matcher);
5040 // internal matcher.
5042 internal::WhenBase64UnescapedMatcher WhenBase64Unescaped(
5044 return internal::WhenBase64UnescapedMatcher(internal_matcher);
5051 inline internal::MatcherAsPredicate<M> Matches(M matcher) {
5052 return internal::MatcherAsPredicate<M>(matcher);
5093 internal::ElementsAreMatcher<
5096 return internal::ElementsAreMatcher<
5102 internal::UnorderedElementsAreMatcher<
5105 return internal::UnorderedElementsAreMatcher<
5112 internal::AllOfMatcher<typename std::decay<const Args&>::type...> AllOf(
5114 return internal::AllOfMatcher<typename std::decay<const Args&>::type...>(
5119 internal::AnyOfMatcher<typename std::decay<const Args&>::type...> AnyOf(
5121 return internal::AnyOfMatcher<typename std::decay<const Args&>::type...>(
5148 inline internal::AnyOfArrayMatcher<
5151 return internal::AnyOfArrayMatcher<
5156 inline internal::AllOfArrayMatcher<
5159 return internal::AllOfArrayMatcher<
5164 inline internal::AnyOfArrayMatcher<T> AnyOfArray(const T* ptr, size_t count) {
5169 inline internal::AllOfArrayMatcher<T> AllOfArray(const T* ptr, size_t count) {
5174 inline internal::AnyOfArrayMatcher<T> AnyOfArray(const T (&array)[N]) {
5179 inline internal::AllOfArrayMatcher<T> AllOfArray(const T (&array)[N]) {
5184 inline internal::AnyOfArrayMatcher<typename Container::value_type> AnyOfArray(
5190 inline internal::AllOfArrayMatcher<typename Container::value_type> AllOfArray(
5196 inline internal::AnyOfArrayMatcher<T> AnyOfArray(
5202 inline internal::AllOfArrayMatcher<T> AllOfArray(
5211 internal::ArgsMatcher<typename std::decay<InnerMatcher>::type, k...> Args(
5213 return internal::ArgsMatcher<typename std::decay<InnerMatcher>::type, k...>(
5238 inline internal::OptionalMatcher<ValueMatcher> Optional(
5240 return internal::OptionalMatcher<ValueMatcher>(value_matcher);
5245 PolymorphicMatcher<internal::any_cast_matcher::AnyCastMatcher<T>> AnyWith(
5248 internal::any_cast_matcher::AnyCastMatcher<T>(matcher));
5256 PolymorphicMatcher<internal::variant_matcher::VariantMatcher<T>> VariantWith(
5259 internal::variant_matcher::VariantMatcher<T>(matcher));
5264 // Anything inside the `internal` namespace is internal to the implementation
5266 namespace internal {
5381 } // namespace internal
5406 PolymorphicMatcher<internal::ExceptionMatcherImpl<Err>> Throws() {
5408 internal::ExceptionMatcherImpl<Err>(A<const Err&>()));
5412 PolymorphicMatcher<internal::ExceptionMatcherImpl<Err>> Throws(
5417 return MakePolymorphicMatcher(internal::ExceptionMatcherImpl<Err>(
5422 PolymorphicMatcher<internal::ExceptionMatcherImpl<Err>> ThrowsMessage(
5426 return Throws<Err>(internal::WithWhat(
5438 ::testing::internal::MakePredicateFormatterFromMatcher(matcher), value)
5441 ::testing::internal::MakePredicateFormatterFromMatcher(matcher), value)
5446 : public ::testing::internal::MatcherBaseImpl<name##Matcher> { \
5469 return ::testing::internal::FormatMatcherDescription(negation, #name, \
5524 class full_name : public ::testing::internal::MatcherBaseImpl< \
5550 return ::testing::internal::FormatMatcherDescription( \
5552 ::testing::internal::UniversalTersePrintTupleFieldsToStrings( \
5618 #include "gmock/internal/custom/gmock-matchers.h"