diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-08-28 08:43:44 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-08-28 09:34:38 +0200 |
commit | 042e30a3dc057aef4a02d95960e4dd4fb8d083ae (patch) | |
tree | 9273f9553165f943d925f4f729e6a48f2ac1557c /slideshow | |
parent | 55402d82c5a81322ff7bca3c277a8813bd967a09 (diff) |
Avoid adding a function template declaration to namespace std
Change-Id: I1368276c859d3c81f4ebfbeca47bb99e781f2fed
Reviewed-on: https://gerrit.libreoffice.org/78214
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'slideshow')
-rw-r--r-- | slideshow/source/engine/eventmultiplexer.cxx | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/slideshow/source/engine/eventmultiplexer.cxx b/slideshow/source/engine/eventmultiplexer.cxx index 07f7ddaa8af7..1ea583da8d9c 100644 --- a/slideshow/source/engine/eventmultiplexer.cxx +++ b/slideshow/source/engine/eventmultiplexer.cxx @@ -45,19 +45,23 @@ #include <functional> #include <memory> #include <algorithm> +#include <utility> #include <vector> using namespace ::com::sun::star; - -namespace std +namespace { // add operator== for weak_ptr, so we can use std::find over lists of them - template<typename T> static bool operator==( weak_ptr<T> const& rLHS, - weak_ptr<T> const& rRHS ) - { - return rLHS.lock().get() == rRHS.lock().get(); - } + struct ViewEventHandlerWeakPtrWrapper final { + slideshow::internal::ViewEventHandlerWeakPtr ptr; + + ViewEventHandlerWeakPtrWrapper(slideshow::internal::ViewEventHandlerWeakPtr thePtr): + ptr(std::move(thePtr)) {} + + bool operator ==(ViewEventHandlerWeakPtrWrapper const & other) const + { return ptr.lock().get() == other.ptr.lock().get(); } + }; } namespace slideshow { @@ -209,8 +213,8 @@ struct EventMultiplexerImpl PauseEventHandlerSharedPtr, std::vector<PauseEventHandlerSharedPtr> > ImplPauseHandlers; typedef ThreadUnsafeListenerContainer< - ViewEventHandlerWeakPtr, - std::vector<ViewEventHandlerWeakPtr> > ImplViewHandlers; + ViewEventHandlerWeakPtrWrapper, + std::vector<ViewEventHandlerWeakPtrWrapper> > ImplViewHandlers; typedef ThreadUnsafeListenerContainer< ViewRepaintHandlerSharedPtr, std::vector<ViewRepaintHandlerSharedPtr> > ImplRepaintHandlers; @@ -1101,8 +1105,8 @@ void EventMultiplexer::notifyViewAdded( const UnoViewSharedPtr& rView ) mpImpl->mxListener.get() ); mpImpl->maViewHandlers.applyAll( - [&rView]( const ViewEventHandlerWeakPtr& pHandler ) - { return pHandler.lock()->viewAdded( rView ); } ); + [&rView]( const ViewEventHandlerWeakPtrWrapper& pHandler ) + { return pHandler.ptr.lock()->viewAdded( rView ); } ); } void EventMultiplexer::notifyViewRemoved( const UnoViewSharedPtr& rView ) @@ -1123,15 +1127,15 @@ void EventMultiplexer::notifyViewRemoved( const UnoViewSharedPtr& rView ) mpImpl->mxListener.get() ); mpImpl->maViewHandlers.applyAll( - [&rView]( const ViewEventHandlerWeakPtr& pHandler ) - { return pHandler.lock()->viewRemoved( rView ); } ); + [&rView]( const ViewEventHandlerWeakPtrWrapper& pHandler ) + { return pHandler.ptr.lock()->viewRemoved( rView ); } ); } void EventMultiplexer::notifyViewChanged( const UnoViewSharedPtr& rView ) { mpImpl->maViewHandlers.applyAll( - [&rView]( const ViewEventHandlerWeakPtr& pHandler ) - { return pHandler.lock()->viewChanged( rView ); } ); + [&rView]( const ViewEventHandlerWeakPtrWrapper& pHandler ) + { return pHandler.ptr.lock()->viewChanged( rView ); } ); } void EventMultiplexer::notifyViewChanged( const uno::Reference<presentation::XSlideShowView>& xView ) @@ -1147,7 +1151,8 @@ void EventMultiplexer::notifyViewChanged( const uno::Reference<presentation::XSl void EventMultiplexer::notifyViewsChanged() { mpImpl->maViewHandlers.applyAll( - std::mem_fn( &ViewEventHandler::viewsChanged )); + []( const ViewEventHandlerWeakPtrWrapper& pHandler ) + { return pHandler.ptr.lock()->viewsChanged(); } ); } void EventMultiplexer::notifyViewClobbered( |