summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-07-08 21:59:27 +0200
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-08-05 14:30:22 -0400
commite11bdb3f32b140167107176296b48ee069e4734a (patch)
treeee48a9cf7241780b60fd32bf064e80e5135a6e6d
parentc1ae4351ca8bd83161876c70f3cc1dcdfd40d66a (diff)
use a functor and standard algorithms
Change-Id: I0cb7b603b4495d78e217153fb0339a5ba2b71157
-rw-r--r--sc/source/filter/oox/stylesbuffer.cxx32
1 files changed, 25 insertions, 7 deletions
diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx
index 854cdb3c01cc..9c025403f413 100644
--- a/sc/source/filter/oox/stylesbuffer.cxx
+++ b/sc/source/filter/oox/stylesbuffer.cxx
@@ -77,6 +77,8 @@
#include "globstr.hrc"
#include "xlconst.hxx"
+#include <algorithm>
+
using ::com::sun::star::table::BorderLine2;
namespace oox {
namespace xls {
@@ -3435,19 +3437,35 @@ void StylesBuffer::writeStyleXfToPropertySet( PropertySet& rPropSet, sal_Int32 n
pXf->writeToPropertySet( rPropSet );
}
-TableStyleRef StylesBuffer::getTableStyle( OUString& rTableStyleName )
+namespace {
+
+struct FindTableStyleByName
{
- for( ::std::vector< TableStyleRef >::iterator i = maTableStyles.begin(); i < maTableStyles.end(); ++i)
+ FindTableStyleByName( const OUString& rName ):
+ mrName(rName) {}
+
+ bool operator()(const TableStyleRef& pStyle)
{
- if( ((*i)->getTableStyleName() ).equals(rTableStyleName) )
- {
- return(*i);
- }
+ return mrName == pStyle->getTableStyleName();
}
+
+private:
+ const OUString& mrName;
+};
+
+}
+
+TableStyleRef StylesBuffer::getTableStyle( OUString& rTableStyleName )
+{
+ std::vector< TableStyleRef >::const_iterator itr = std::find_if(
+ maTableStyles.begin(), maTableStyles.end(), FindTableStyleByName(rTableStyleName));
+
+ if(itr != maTableStyles.end())
+ return *itr;
+
return 0;
}
-// ============================================================================
} // namespace xls
} // namespace oox