summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2017-05-23 22:09:40 -0400
committerKohei Yoshida <libreoffice@kohei.us>2017-06-06 05:00:33 +0200
commita078328e91ab9cbd78a92608c1abdc2c57ff9ac5 (patch)
tree2d5dbb6ef9456e2ce5fe256f3a0ac76bdbccec49 /sc/inc
parent59c0682c46e52aa18bdbee4c14ef05af9329de33 (diff)
tdf#107945: prepare for future multi-threading of pivot cache...
It's disabled for now. We need to first make the edit engine and a few other places thread-safe before we can parallelize this code. Change-Id: Ie09536964ece42d43f505afc5e2611d469cc5c95 Reviewed-on: https://gerrit.libreoffice.org/38424 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/dpcache.hxx10
1 files changed, 5 insertions, 5 deletions
diff --git a/sc/inc/dpcache.hxx b/sc/inc/dpcache.hxx
index 515a3fae6a19..3bac2751600d 100644
--- a/sc/inc/dpcache.hxx
+++ b/sc/inc/dpcache.hxx
@@ -42,9 +42,9 @@ struct ScDPNumGroupInfo;
*/
class SC_DLLPUBLIC ScDPCache
{
- typedef std::unordered_set<OUString, OUStringHash> StringSetType;
-
public:
+ typedef std::unordered_set<OUString, OUStringHash> StringSetType;
+ typedef mdds::flat_segment_tree<SCROW, bool> EmptyRowsType;
typedef std::vector<ScDPItemData> ScDPItemDataVec;
typedef std::set<ScDPObject*> ScDPObjectSet;
typedef std::vector<SCROW> IndexArrayType;
@@ -117,17 +117,17 @@ private:
FieldsType maFields;
GroupFieldsType maGroupFields;
- StringSetType maStringPool;
+ std::vector<StringSetType> maStringPools; // one for each field.
std::vector<OUString> maLabelNames; // Stores dimension names and the data layout dimension name at position 0.
- mdds::flat_segment_tree<SCROW, bool> maEmptyRows;
+ EmptyRowsType maEmptyRows;
SCROW mnDataSize;
SCROW mnRowCount;
bool mbDisposing;
public:
- rtl_uString* InternString( const OUString& rStr );
+ rtl_uString* InternString( size_t nDim, const OUString& rStr );
void AddReference(ScDPObject* pObj) const;
void RemoveReference(ScDPObject* pObj) const;
const ScDPObjectSet& GetAllReferences() const;