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/17409 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org>
This commit is contained in:
committed by
David Ostrovsky
parent
43ac95ab64
commit
1a5e176e62
@@ -35,10 +35,8 @@
|
||||
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
|
||||
#include <com/sun/star/beans/PropertyValue.hpp>
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <o3tl/compat_functional.hxx>
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
@@ -54,10 +52,8 @@ class CanvasFactory
|
||||
lang::XMultiComponentFactory,
|
||||
lang::XMultiServiceFactory >
|
||||
{
|
||||
typedef std::pair<OUString,Sequence<OUString> > AvailPair;
|
||||
typedef std::pair<OUString,OUString> CachePair;
|
||||
typedef std::vector< AvailPair > AvailVector;
|
||||
typedef std::vector< CachePair > CacheVector;
|
||||
typedef std::vector<std::pair<OUString, Sequence<OUString> > > AvailVector;
|
||||
typedef std::vector<std::pair<OUString, OUString> > CacheVector;
|
||||
|
||||
|
||||
mutable ::osl::Mutex m_mutex;
|
||||
@@ -242,7 +238,9 @@ Sequence<OUString> CanvasFactory::getAvailableServiceNames()
|
||||
std::transform(m_aAvailableImplementations.begin(),
|
||||
m_aAvailableImplementations.end(),
|
||||
aServiceNames.getArray(),
|
||||
o3tl::select1st<AvailPair>());
|
||||
[](std::pair<OUString, Sequence<OUString> > const& ap)
|
||||
{ return ap.first; }
|
||||
);
|
||||
return aServiceNames;
|
||||
}
|
||||
|
||||
@@ -325,14 +323,12 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
|
||||
// try to reuse last working implementation for given service name
|
||||
const CacheVector::iterator aEnd(m_aCachedImplementations.end());
|
||||
CacheVector::iterator aMatch;
|
||||
if( (aMatch=std::find_if(m_aCachedImplementations.begin(),
|
||||
aEnd,
|
||||
boost::bind(&OUString::equals,
|
||||
boost::cref(serviceName),
|
||||
boost::bind(
|
||||
o3tl::select1st<CachePair>(),
|
||||
_1)))) != aEnd )
|
||||
{
|
||||
if( (aMatch=std::find_if(
|
||||
m_aCachedImplementations.begin(),
|
||||
aEnd,
|
||||
[&serviceName](std::pair<OUString, OUString> const& cp)
|
||||
{ return serviceName.equals(cp.first); }
|
||||
)) != aEnd) {
|
||||
Reference<XInterface> xCanvas( use( aMatch->second, args, xContext ) );
|
||||
if(xCanvas.is())
|
||||
return xCanvas;
|
||||
@@ -341,40 +337,34 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
|
||||
// lookup in available service list
|
||||
const AvailVector::const_iterator aAvailEnd(m_aAvailableImplementations.end());
|
||||
AvailVector::const_iterator aAvailImplsMatch;
|
||||
if( (aAvailImplsMatch=std::find_if(m_aAvailableImplementations.begin(),
|
||||
aAvailEnd,
|
||||
boost::bind(&OUString::equals,
|
||||
boost::cref(serviceName),
|
||||
boost::bind(
|
||||
o3tl::select1st<AvailPair>(),
|
||||
_1)))) == aAvailEnd )
|
||||
{
|
||||
if( (aAvailImplsMatch=std::find_if(
|
||||
m_aAvailableImplementations.begin(),
|
||||
aAvailEnd,
|
||||
[&serviceName](std::pair<OUString, Sequence<OUString> > const& ap)
|
||||
{ return serviceName.equals(ap.first); }
|
||||
)) == aAvailEnd ) {
|
||||
return Reference<XInterface>();
|
||||
}
|
||||
|
||||
const AvailVector::const_iterator aAAEnd(m_aAAImplementations.end());
|
||||
AvailVector::const_iterator aAAImplsMatch;
|
||||
if( (aAAImplsMatch=std::find_if(m_aAAImplementations.begin(),
|
||||
aAAEnd,
|
||||
boost::bind(&OUString::equals,
|
||||
boost::cref(serviceName),
|
||||
boost::bind(
|
||||
o3tl::select1st<AvailPair>(),
|
||||
_1)))) == aAAEnd )
|
||||
{
|
||||
if( (aAAImplsMatch=std::find_if(
|
||||
m_aAAImplementations.begin(),
|
||||
aAAEnd,
|
||||
[&serviceName](std::pair<OUString, Sequence<OUString> > const& ap)
|
||||
{ return serviceName.equals(ap.first); }
|
||||
)) == aAAEnd) {
|
||||
return Reference<XInterface>();
|
||||
}
|
||||
|
||||
const AvailVector::const_iterator aAccelEnd(m_aAcceleratedImplementations.end());
|
||||
AvailVector::const_iterator aAccelImplsMatch;
|
||||
if( (aAccelImplsMatch=std::find_if(m_aAcceleratedImplementations.begin(),
|
||||
aAccelEnd,
|
||||
boost::bind(&OUString::equals,
|
||||
boost::cref(serviceName),
|
||||
boost::bind(
|
||||
o3tl::select1st<AvailPair>(),
|
||||
_1)))) == aAccelEnd )
|
||||
{
|
||||
if( (aAccelImplsMatch=std::find_if(
|
||||
m_aAcceleratedImplementations.begin(),
|
||||
aAccelEnd,
|
||||
[&serviceName](std::pair<OUString, Sequence<OUString> > const& ap)
|
||||
{ return serviceName.equals(ap.first); }
|
||||
)) == aAccelEnd ) {
|
||||
return Reference<XInterface>();
|
||||
}
|
||||
|
||||
@@ -403,22 +393,18 @@ Reference<XInterface> CanvasFactory::lookupAndUse(
|
||||
const bool bIsAcceleratedImpl(
|
||||
std::any_of(pFirstAccelImpl,
|
||||
pEndAccelImpl,
|
||||
boost::bind(&OUString::equals,
|
||||
boost::cref(aCurrName),
|
||||
boost::bind(
|
||||
&OUString::trim,
|
||||
_1))) );
|
||||
[&aCurrName](OUString const& src)
|
||||
{ return aCurrName.equals(src.trim()); }
|
||||
));
|
||||
|
||||
// check whether given canvas service is listed in the
|
||||
// sequence of "antialiasing canvas implementations"
|
||||
const bool bIsAAImpl(
|
||||
std::any_of(pFirstAAImpl,
|
||||
pEndAAImpl,
|
||||
boost::bind(&OUString::equals,
|
||||
boost::cref(aCurrName),
|
||||
boost::bind(
|
||||
&OUString::trim,
|
||||
_1))) );
|
||||
[&aCurrName](OUString const& src)
|
||||
{ return aCurrName.equals(src.trim()); }
|
||||
));
|
||||
|
||||
// try to instantiate canvas *only* if either accel and AA
|
||||
// property match preference, *or*, if there's a mismatch, only
|
||||
|
Reference in New Issue
Block a user