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
d3d142ef
Commit
d3d142ef
authored
Nov 17, 2014
by
kosak
Browse files
Add ByMove() modifier for the Return() action.
parent
6aa0422e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
8 deletions
+11
-8
include/gtest/internal/gtest-port.h
include/gtest/internal/gtest-port.h
+11
-8
No files found.
include/gtest/internal/gtest-port.h
View file @
d3d142ef
...
...
@@ -206,7 +206,7 @@
//
// C++11 feature wrappers:
//
//
GTEST_MOVE_
- portability wrapper for std::move.
//
testing::internal::move
- portability wrapper for std::move.
//
// Synchronization:
// Mutex, MutexLock, ThreadLocal, GetThreadCount()
...
...
@@ -905,12 +905,6 @@ using ::std::tuple_size;
# define GTEST_MUST_USE_RESULT_
#endif // __GNUC__ && (GTEST_GCC_VER_ >= 30400) && !COMPILER_ICC
#if GTEST_HAS_STD_MOVE_
# define GTEST_MOVE_(x) ::std::move(x) // NOLINT
#else
# define GTEST_MOVE_(x) x
#endif
// MS C++ compiler emits warning when a conditional expression is compile time
// constant. In some contexts this warning is false positive and needs to be
// suppressed. Use the following two macros in such cases:
...
...
@@ -1323,6 +1317,15 @@ inline void FlushInfoLog() { fflush(NULL); }
GTEST_LOG_(FATAL) << #posix_call << "failed with error " \
<< gtest_error
#if GTEST_HAS_STD_MOVE_
using
std
::
move
;
#else // GTEST_LANG_CXX11
template
<
typename
T
>
const
T
&
move
(
const
T
&
t
)
{
return
t
;
}
#endif // GTEST_HAS_STD_MOVE_
// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE.
//
// Use ImplicitCast_ as a safe version of static_cast for upcasting in
...
...
@@ -1344,7 +1347,7 @@ inline void FlushInfoLog() { fflush(NULL); }
// similar functions users may have (e.g., implicit_cast). The internal
// namespace alone is not enough because the function can be found by ADL.
template
<
typename
To
>
inline
To
ImplicitCast_
(
To
x
)
{
return
x
;
}
inline
To
ImplicitCast_
(
To
x
)
{
return
move
(
x
)
;
}
// When you upcast (that is, cast a pointer from type Foo to type
// SuperclassOfFoo), it's fine to use ImplicitCast_<>, since upcasts
...
...
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