summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2013-11-20 22:09:45 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2013-11-20 22:15:29 -0500
commit22ea573b7417db0392c006dff06cde50ddbcd469 (patch)
tree649ac5ae9315710f213f82ea0c983a4062922e48 /include
parentf9041c386c2193c7d669691927261e0fd7608e3e (diff)
Expose raw char array and use it to avoid OUString allocations.
In SheetDataContext::importCell(). Change-Id: I52db64219f672ea5fbbda17686bf1173ceac5926
Diffstat (limited to 'include')
-rw-r--r--include/oox/helper/attributelist.hxx9
-rw-r--r--include/sax/fastattribs.hxx1
2 files changed, 10 insertions, 0 deletions
diff --git a/include/oox/helper/attributelist.hxx b/include/oox/helper/attributelist.hxx
index 6aa035a0b331..78ea83e28ab2 100644
--- a/include/oox/helper/attributelist.hxx
+++ b/include/oox/helper/attributelist.hxx
@@ -75,6 +75,12 @@ public:
class OOX_DLLPUBLIC AttributeList
{
public:
+ struct Char
+ {
+ const char* mpPos;
+ size_t mnSize;
+ };
+
explicit AttributeList(
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& rxAttribs );
@@ -132,6 +138,9 @@ public:
passed default string if the attribute is missing. */
OUString getXString( sal_Int32 nAttrToken, const OUString& rDefault ) const;
+ Char getChar( sal_Int32 nAttrToken ) const;
+
+
/** Returns the double value of the specified attribute, or the passed
default value if the attribute is missing or not convertible to a double. */
double getDouble( sal_Int32 nAttrToken, double fDefault ) const;
diff --git a/include/sax/fastattribs.hxx b/include/sax/fastattribs.hxx
index fd87a946ea5a..f47da070c1fc 100644
--- a/include/sax/fastattribs.hxx
+++ b/include/sax/fastattribs.hxx
@@ -76,6 +76,7 @@ public:
// performance sensitive shortcuts to avoid allocation ...
bool getAsInteger( sal_Int32 nToken, sal_Int32 &rInt);
bool getAsDouble( sal_Int32 nToken, double &rDouble);
+ bool getAsChar( sal_Int32 nToken, const char*& rPos, size_t& rLen ) const;
// XFastAttributeList
virtual ::sal_Bool SAL_CALL hasAttribute( ::sal_Int32 Token ) throw (::com::sun::star::uno::RuntimeException);