Call move() by qualified name (::testing::internal::move() or just internal::move()).
Pull in gtest 696.
This commit is contained in:
parent
389bad61e2
commit
d370f85b02
@ -463,7 +463,7 @@ class ActionAdaptor : public ActionInterface<F1> {
|
|||||||
// on return. Useful for move-only types, but could be used on any type.
|
// on return. Useful for move-only types, but could be used on any type.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct ByMoveWrapper {
|
struct ByMoveWrapper {
|
||||||
explicit ByMoveWrapper(T value) : payload(move(value)) {}
|
explicit ByMoveWrapper(T value) : payload(internal::move(value)) {}
|
||||||
T payload;
|
T payload;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -497,7 +497,7 @@ class ReturnAction {
|
|||||||
// Constructs a ReturnAction object from the value to be returned.
|
// Constructs a ReturnAction object from the value to be returned.
|
||||||
// 'value' is passed by value instead of by const reference in order
|
// 'value' is passed by value instead of by const reference in order
|
||||||
// to allow Return("string literal") to compile.
|
// to allow Return("string literal") to compile.
|
||||||
explicit ReturnAction(R value) : value_(new R(move(value))) {}
|
explicit ReturnAction(R value) : value_(new R(internal::move(value))) {}
|
||||||
|
|
||||||
// This template type conversion operator allows Return(x) to be
|
// This template type conversion operator allows Return(x) to be
|
||||||
// used in ANY function that returns x's type.
|
// used in ANY function that returns x's type.
|
||||||
@ -561,7 +561,7 @@ class ReturnAction {
|
|||||||
GTEST_CHECK_(!performed_)
|
GTEST_CHECK_(!performed_)
|
||||||
<< "A ByMove() action should only be performed once.";
|
<< "A ByMove() action should only be performed once.";
|
||||||
performed_ = true;
|
performed_ = true;
|
||||||
return move(wrapper_->payload);
|
return internal::move(wrapper_->payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -1302,12 +1302,14 @@ template <typename T>
|
|||||||
class ReferenceOrValueWrapper {
|
class ReferenceOrValueWrapper {
|
||||||
public:
|
public:
|
||||||
// Constructs a wrapper from the given value/reference.
|
// Constructs a wrapper from the given value/reference.
|
||||||
explicit ReferenceOrValueWrapper(T value) : value_(move(value)) {}
|
explicit ReferenceOrValueWrapper(T value)
|
||||||
|
: value_(::testing::internal::move(value)) {
|
||||||
|
}
|
||||||
|
|
||||||
// Unwraps and returns the underlying value/reference, exactly as
|
// Unwraps and returns the underlying value/reference, exactly as
|
||||||
// originally passed. The behavior of calling this more than once on
|
// originally passed. The behavior of calling this more than once on
|
||||||
// the same object is unspecified.
|
// the same object is unspecified.
|
||||||
T Unwrap() { return move(value_); }
|
T Unwrap() { return ::testing::internal::move(value_); }
|
||||||
|
|
||||||
// Provides nondestructive access to the underlying value/reference.
|
// Provides nondestructive access to the underlying value/reference.
|
||||||
// Always returns a const reference (more precisely,
|
// Always returns a const reference (more precisely,
|
||||||
@ -1404,7 +1406,9 @@ class ActionResultHolder : public UntypedActionResultHolderBase {
|
|||||||
private:
|
private:
|
||||||
typedef ReferenceOrValueWrapper<T> Wrapper;
|
typedef ReferenceOrValueWrapper<T> Wrapper;
|
||||||
|
|
||||||
explicit ActionResultHolder(Wrapper result) : result_(move(result)) {}
|
explicit ActionResultHolder(Wrapper result)
|
||||||
|
: result_(::testing::internal::move(result)) {
|
||||||
|
}
|
||||||
|
|
||||||
Wrapper result_;
|
Wrapper result_;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user