diff --git a/canvas/source/factory/cf_service.cxx b/canvas/source/factory/cf_service.cxx index 5177989db36d..301001cc25da 100644 --- a/canvas/source/factory/cf_service.cxx +++ b/canvas/source/factory/cf_service.cxx @@ -35,10 +35,8 @@ #include #include -#include #include #include -#include #include @@ -54,10 +52,8 @@ class CanvasFactory lang::XMultiComponentFactory, lang::XMultiServiceFactory > { - typedef std::pair > AvailPair; - typedef std::pair CachePair; - typedef std::vector< AvailPair > AvailVector; - typedef std::vector< CachePair > CacheVector; + typedef std::vector > > AvailVector; + typedef std::vector > CacheVector; mutable ::osl::Mutex m_mutex; @@ -242,7 +238,9 @@ Sequence CanvasFactory::getAvailableServiceNames() std::transform(m_aAvailableImplementations.begin(), m_aAvailableImplementations.end(), aServiceNames.getArray(), - o3tl::select1st()); + [](std::pair > const& ap) + { return ap.first; } + ); return aServiceNames; } @@ -325,14 +323,12 @@ Reference 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(), - _1)))) != aEnd ) - { + if( (aMatch=std::find_if( + m_aCachedImplementations.begin(), + aEnd, + [&serviceName](std::pair const& cp) + { return serviceName.equals(cp.first); } + )) != aEnd) { Reference xCanvas( use( aMatch->second, args, xContext ) ); if(xCanvas.is()) return xCanvas; @@ -341,40 +337,34 @@ Reference 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(), - _1)))) == aAvailEnd ) - { + if( (aAvailImplsMatch=std::find_if( + m_aAvailableImplementations.begin(), + aAvailEnd, + [&serviceName](std::pair > const& ap) + { return serviceName.equals(ap.first); } + )) == aAvailEnd ) { return Reference(); } 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(), - _1)))) == aAAEnd ) - { + if( (aAAImplsMatch=std::find_if( + m_aAAImplementations.begin(), + aAAEnd, + [&serviceName](std::pair > const& ap) + { return serviceName.equals(ap.first); } + )) == aAAEnd) { return Reference(); } 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(), - _1)))) == aAccelEnd ) - { + if( (aAccelImplsMatch=std::find_if( + m_aAcceleratedImplementations.begin(), + aAccelEnd, + [&serviceName](std::pair > const& ap) + { return serviceName.equals(ap.first); } + )) == aAccelEnd ) { return Reference(); } @@ -403,22 +393,18 @@ Reference 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