12#include <rtl/ustring.hxx>
18#include <unordered_map>
26struct DataPilotFieldFilter;
62 typedef std::map<OUString, std::shared_ptr<MemberNode>>
MembersType;
70 void dump(
int nLevel)
const;
85 void dump(
int nLevel)
const;
95 typedef std::unordered_map<NamePairType, double, NamePairHash>
LeafValuesType;
113 void add(
const std::vector<ScDPResultFilter>& rFilter,
double fVal);
121 getResults(
const css::uno::Sequence<css::sheet::DataPilotFieldFilter>& rFilters)
const;
123 double getLeafResult(
const css::sheet::DataPilotFieldFilter& rFilter)
const;
This class maintains pivot table calculation result in a tree structure which represents the logical ...
std::map< OUString, std::shared_ptr< MemberNode > > MembersType
void add(const std::vector< ScDPResultFilter > &rFilter, double fVal)
Add a single value filter path.
const ScDPResultTree & operator=(const ScDPResultTree &)=delete
OUString maPrimaryDimName
std::unique_ptr< MemberNode > mpRoot
ScDPResultTree(const ScDPResultTree &)=delete
double getLeafResult(const css::sheet::DataPilotFieldFilter &rFilter) const
std::vector< double > ValuesType
std::unordered_map< NamePairType, double, NamePairHash > LeafValuesType
LeafValuesType maLeafValues
const ValuesType * getResults(const css::uno::Sequence< css::sheet::DataPilotFieldFilter > &rFilters) const
void swap(ScDPResultTree &rOther)
std::pair< OUString, OUString > NamePairType
VCL_DLLPUBLIC void dump(const SkBitmap &bitmap, const char *file)
std::vector< ScDPResultFilter > maFilters
ScDPResultFilterContext()
ScDPResultTree maFilterSet
ScDPResultFilter(OUString aDimName, bool bDataLayout)
MembersType maChildMembersValueNames
MembersType maChildMembersValues
std::map< OUString, DimensionNode > maChildDimensions
MemberNode(const MemberNode &)=delete
const MemberNode & operator=(const MemberNode &)=delete
size_t operator()(const NamePairType &rPair) const