Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
yangql
googletest
Commits
11471da7
Commit
11471da7
authored
Aug 13, 2019
by
Krystian Kuzniarek
Browse files
remove a custom implementation of std::enable_if
parent
90a443f9
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
8 additions
and
13 deletions
+8
-13
googletest/include/gtest/gtest-matchers.h
googletest/include/gtest/gtest-matchers.h
+7
-5
googletest/include/gtest/gtest.h
googletest/include/gtest/gtest.h
+1
-1
googletest/include/gtest/internal/gtest-internal.h
googletest/include/gtest/internal/gtest-internal.h
+0
-7
No files found.
googletest/include/gtest/gtest-matchers.h
View file @
11471da7
...
...
@@ -42,6 +42,7 @@
#include <memory>
#include <ostream>
#include <string>
#include <type_traits>
#include "gtest/gtest-printers.h"
#include "gtest/internal/gtest-internal.h"
...
...
@@ -299,8 +300,8 @@ class MatcherBase {
template
<
typename
U
>
explicit
MatcherBase
(
const
MatcherInterface
<
U
>*
impl
,
typename
internal
::
EnableIf
<
!
internal
::
IsSame
<
U
,
const
U
&>::
value
>::
type
*
=
nullptr
)
typename
std
::
enable_if
<!
internal
::
IsSame
<
U
,
const
U
&>::
value
>::
type
*
=
nullptr
)
:
impl_
(
new
internal
::
MatcherInterfaceAdapter
<
U
>
(
impl
))
{}
MatcherBase
(
const
MatcherBase
&
)
=
default
;
...
...
@@ -333,9 +334,10 @@ class Matcher : public internal::MatcherBase<T> {
:
internal
::
MatcherBase
<
T
>
(
impl
)
{}
template
<
typename
U
>
explicit
Matcher
(
const
MatcherInterface
<
U
>*
impl
,
typename
internal
::
EnableIf
<
!
internal
::
IsSame
<
U
,
const
U
&>::
value
>::
type
*
=
nullptr
)
explicit
Matcher
(
const
MatcherInterface
<
U
>*
impl
,
typename
std
::
enable_if
<!
internal
::
IsSame
<
U
,
const
U
&>::
value
>::
type
*
=
nullptr
)
:
internal
::
MatcherBase
<
T
>
(
impl
)
{}
// Implicit constructor here allows people to write
...
...
googletest/include/gtest/gtest.h
View file @
11471da7
...
...
@@ -292,7 +292,7 @@ class GTEST_API_ AssertionResult {
template
<
typename
T
>
explicit
AssertionResult
(
const
T
&
success
,
typename
internal
::
E
nable
I
f
<
typename
std
::
e
nable
_i
f
<
!
std
::
is_convertible
<
T
,
AssertionResult
>::
value
>::
type
*
/*enabler*/
=
nullptr
)
...
...
googletest/include/gtest/internal/gtest-internal.h
View file @
11471da7
...
...
@@ -991,13 +991,6 @@ struct IsRecursiveContainerImpl<C, true> {
template
<
typename
C
>
struct
IsRecursiveContainer
:
public
IsRecursiveContainerImpl
<
C
>::
type
{};
// EnableIf<condition>::type is void when 'Cond' is true, and
// undefined when 'Cond' is false. To use SFINAE to make a function
// overload only apply when a particular expression is true, add
// "typename EnableIf<expression>::type* = 0" as the last parameter.
template
<
bool
>
struct
EnableIf
;
template
<
>
struct
EnableIf
<
true
>
{
typedef
void
type
;
};
// NOLINT
// Utilities for native arrays.
// ArrayEq() compares two k-dimensional native arrays using the
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment