| Index: webrtc/base/messagehandler.h
|
| diff --git a/webrtc/base/messagehandler.h b/webrtc/base/messagehandler.h
|
| index 6a3c2ef7402bdf9203ef350dcff740f806d1210d..33838d1a5ccc2507d5dc6010aa6b1bd9cbf9236d 100644
|
| --- a/webrtc/base/messagehandler.h
|
| +++ b/webrtc/base/messagehandler.h
|
| @@ -44,26 +44,13 @@ class FunctorMessageHandler : public MessageHandler {
|
| result_ = functor_();
|
| }
|
| const ReturnT& result() const { return result_; }
|
| + ReturnT moved_result() { return std::move(result_); }
|
|
|
| private:
|
| FunctorT functor_;
|
| ReturnT result_;
|
| };
|
|
|
| -// Specialization for std::unique_ptr<ReturnT>.
|
| -template <class ReturnT, class FunctorT>
|
| -class FunctorMessageHandler<class std::unique_ptr<ReturnT>, FunctorT>
|
| - : public MessageHandler {
|
| - public:
|
| - explicit FunctorMessageHandler(const FunctorT& functor) : functor_(functor) {}
|
| - virtual void OnMessage(Message* msg) { result_ = std::move(functor_()); }
|
| - std::unique_ptr<ReturnT> result() { return std::move(result_); }
|
| -
|
| - private:
|
| - FunctorT functor_;
|
| - std::unique_ptr<ReturnT> result_;
|
| -};
|
| -
|
| // Specialization for ReturnT of void.
|
| template <class FunctorT>
|
| class FunctorMessageHandler<void, FunctorT> : public MessageHandler {
|
| @@ -74,6 +61,7 @@ class FunctorMessageHandler<void, FunctorT> : public MessageHandler {
|
| functor_();
|
| }
|
| void result() const {}
|
| + void moved_result() {}
|
|
|
| private:
|
| FunctorT functor_;
|
|
|