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_); } |
pthatcher1
2017/02/08 01:33:49
Would MoveResult be a better name, since it has an
Taylor Brandstetter
2017/02/10 00:19:45
ConsumeResult could work, I've seen that naming el
|
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_; |