Kaydet (Commit) 1a5e176e authored tarafından Daniel Robertson's avatar Daniel Robertson Kaydeden (comit) David Ostrovsky

tdf#92459 Replace select1st for lambda expressions

Replace all instances of select1st with lambda functions in
canvas/source/factory/cf_service.cxx.

Change-Id: I935282817fdf6496bd03752b8adb89e827ff28c5
Reviewed-on: https://gerrit.libreoffice.org/17409Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarDavid Ostrovsky <david@ostrovsky.org>
üst 43ac95ab
...@@ -35,10 +35,8 @@ ...@@ -35,10 +35,8 @@
#include <com/sun/star/container/XHierarchicalNameAccess.hpp> #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/beans/PropertyValue.hpp>
#include <boost/bind.hpp>
#include <vector> #include <vector>
#include <utility> #include <utility>
#include <o3tl/compat_functional.hxx>
#include <algorithm> #include <algorithm>
...@@ -54,10 +52,8 @@ class CanvasFactory ...@@ -54,10 +52,8 @@ class CanvasFactory
lang::XMultiComponentFactory, lang::XMultiComponentFactory,
lang::XMultiServiceFactory > lang::XMultiServiceFactory >
{ {
typedef std::pair<OUString,Sequence<OUString> > AvailPair; typedef std::vector<std::pair<OUString, Sequence<OUString> > > AvailVector;
typedef std::pair<OUString,OUString> CachePair; typedef std::vector<std::pair<OUString, OUString> > CacheVector;
typedef std::vector< AvailPair > AvailVector;
typedef std::vector< CachePair > CacheVector;
mutable ::osl::Mutex m_mutex; mutable ::osl::Mutex m_mutex;
...@@ -242,7 +238,9 @@ Sequence<OUString> CanvasFactory::getAvailableServiceNames() ...@@ -242,7 +238,9 @@ Sequence<OUString> CanvasFactory::getAvailableServiceNames()
std::transform(m_aAvailableImplementations.begin(), std::transform(m_aAvailableImplementations.begin(),
m_aAvailableImplementations.end(), m_aAvailableImplementations.end(),
aServiceNames.getArray(), aServiceNames.getArray(),
o3tl::select1st<AvailPair>()); [](std::pair<OUString, Sequence<OUString> > const& ap)
{ return ap.first; }
);
return aServiceNames; return aServiceNames;
} }
...@@ -325,14 +323,12 @@ Reference<XInterface> CanvasFactory::lookupAndUse( ...@@ -325,14 +323,12 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
// try to reuse last working implementation for given service name // try to reuse last working implementation for given service name
const CacheVector::iterator aEnd(m_aCachedImplementations.end()); const CacheVector::iterator aEnd(m_aCachedImplementations.end());
CacheVector::iterator aMatch; CacheVector::iterator aMatch;
if( (aMatch=std::find_if(m_aCachedImplementations.begin(), if( (aMatch=std::find_if(
aEnd, m_aCachedImplementations.begin(),
boost::bind(&OUString::equals, aEnd,
boost::cref(serviceName), [&serviceName](std::pair<OUString, OUString> const& cp)
boost::bind( { return serviceName.equals(cp.first); }
o3tl::select1st<CachePair>(), )) != aEnd) {
_1)))) != aEnd )
{
Reference<XInterface> xCanvas( use( aMatch->second, args, xContext ) ); Reference<XInterface> xCanvas( use( aMatch->second, args, xContext ) );
if(xCanvas.is()) if(xCanvas.is())
return xCanvas; return xCanvas;
...@@ -341,40 +337,34 @@ Reference<XInterface> CanvasFactory::lookupAndUse( ...@@ -341,40 +337,34 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
// lookup in available service list // lookup in available service list
const AvailVector::const_iterator aAvailEnd(m_aAvailableImplementations.end()); const AvailVector::const_iterator aAvailEnd(m_aAvailableImplementations.end());
AvailVector::const_iterator aAvailImplsMatch; AvailVector::const_iterator aAvailImplsMatch;
if( (aAvailImplsMatch=std::find_if(m_aAvailableImplementations.begin(), if( (aAvailImplsMatch=std::find_if(
aAvailEnd, m_aAvailableImplementations.begin(),
boost::bind(&OUString::equals, aAvailEnd,
boost::cref(serviceName), [&serviceName](std::pair<OUString, Sequence<OUString> > const& ap)
boost::bind( { return serviceName.equals(ap.first); }
o3tl::select1st<AvailPair>(), )) == aAvailEnd ) {
_1)))) == aAvailEnd )
{
return Reference<XInterface>(); return Reference<XInterface>();
} }
const AvailVector::const_iterator aAAEnd(m_aAAImplementations.end()); const AvailVector::const_iterator aAAEnd(m_aAAImplementations.end());
AvailVector::const_iterator aAAImplsMatch; AvailVector::const_iterator aAAImplsMatch;
if( (aAAImplsMatch=std::find_if(m_aAAImplementations.begin(), if( (aAAImplsMatch=std::find_if(
aAAEnd, m_aAAImplementations.begin(),
boost::bind(&OUString::equals, aAAEnd,
boost::cref(serviceName), [&serviceName](std::pair<OUString, Sequence<OUString> > const& ap)
boost::bind( { return serviceName.equals(ap.first); }
o3tl::select1st<AvailPair>(), )) == aAAEnd) {
_1)))) == aAAEnd )
{
return Reference<XInterface>(); return Reference<XInterface>();
} }
const AvailVector::const_iterator aAccelEnd(m_aAcceleratedImplementations.end()); const AvailVector::const_iterator aAccelEnd(m_aAcceleratedImplementations.end());
AvailVector::const_iterator aAccelImplsMatch; AvailVector::const_iterator aAccelImplsMatch;
if( (aAccelImplsMatch=std::find_if(m_aAcceleratedImplementations.begin(), if( (aAccelImplsMatch=std::find_if(
aAccelEnd, m_aAcceleratedImplementations.begin(),
boost::bind(&OUString::equals, aAccelEnd,
boost::cref(serviceName), [&serviceName](std::pair<OUString, Sequence<OUString> > const& ap)
boost::bind( { return serviceName.equals(ap.first); }
o3tl::select1st<AvailPair>(), )) == aAccelEnd ) {
_1)))) == aAccelEnd )
{
return Reference<XInterface>(); return Reference<XInterface>();
} }
...@@ -403,22 +393,18 @@ Reference<XInterface> CanvasFactory::lookupAndUse( ...@@ -403,22 +393,18 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
const bool bIsAcceleratedImpl( const bool bIsAcceleratedImpl(
std::any_of(pFirstAccelImpl, std::any_of(pFirstAccelImpl,
pEndAccelImpl, pEndAccelImpl,
boost::bind(&OUString::equals, [&aCurrName](OUString const& src)
boost::cref(aCurrName), { return aCurrName.equals(src.trim()); }
boost::bind( ));
&OUString::trim,
_1))) );
// check whether given canvas service is listed in the // check whether given canvas service is listed in the
// sequence of "antialiasing canvas implementations" // sequence of "antialiasing canvas implementations"
const bool bIsAAImpl( const bool bIsAAImpl(
std::any_of(pFirstAAImpl, std::any_of(pFirstAAImpl,
pEndAAImpl, pEndAAImpl,
boost::bind(&OUString::equals, [&aCurrName](OUString const& src)
boost::cref(aCurrName), { return aCurrName.equals(src.trim()); }
boost::bind( ));
&OUString::trim,
_1))) );
// try to instantiate canvas *only* if either accel and AA // try to instantiate canvas *only* if either accel and AA
// property match preference, *or*, if there's a mismatch, only // property match preference, *or*, if there's a mismatch, only
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment