summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2019-10-02 23:07:56 +0200
committerJulien Nabet <serval2412@yahoo.fr>2019-10-03 10:06:28 +0200
commit72d22380f9356b196e51299bf608c192b6fd6cf7 (patch)
treee092f32446fd236414c4d0292eb3a4e8f20f2677 /include
parent86e4d68e62c6291ef386b5fcf0f8912989f8e661 (diff)
Simplify a bit SfxAllEnumItem (svl)
Make private GetValueByPos which is only used in svl/source/items/aeitem.cxx Remove "RemoveValue" method which is only used in InsertValue( sal_uInt16 nValue, const OUString &rValue ) It allows to call once "GetPosByValue" and the assert is useless since we're in the case: "else if ( nPos != USHRT_MAX )" I think we can more optimize by replacing vector by another container for pValues (type "SfxAllEnumValueArr"). Indeed, we insert and remove a lot in pValues in a specific position. Vector is not the best container for this There's also still the part "//FIXME: Optimisation: use binary search or SortArray" in GetPosByValue_ method Change-Id: I0cafea70e9d0361ef9a7b345ff770a9b888ef85b Reviewed-on: https://gerrit.libreoffice.org/80089 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Diffstat (limited to 'include')
-rw-r--r--include/svl/aeitem.hxx3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/svl/aeitem.hxx b/include/svl/aeitem.hxx
index 648986825bcf..4c25643cf59d 100644
--- a/include/svl/aeitem.hxx
+++ b/include/svl/aeitem.hxx
@@ -43,6 +43,7 @@ class SVL_DLLPUBLIC SfxAllEnumItem: public SfxAllEnumItem_Base
sal_uInt16 GetPosByValue( sal_uInt16 nValue ) const;
std::size_t GetPosByValue_( sal_uInt16 nValue ) const;
+ sal_uInt16 GetValueByPos( sal_uInt16 nPos ) const;
public:
explicit SfxAllEnumItem( sal_uInt16 nWhich);
@@ -52,10 +53,8 @@ public:
void InsertValue( sal_uInt16 nValue );
void InsertValue( sal_uInt16 nValue, const OUString &rText );
- void RemoveValue( sal_uInt16 nValue );
virtual sal_uInt16 GetValueCount() const override;
- sal_uInt16 GetValueByPos( sal_uInt16 nPos ) const;
OUString const & GetValueTextByPos( sal_uInt16 nPos ) const;
virtual SfxPoolItem* Clone( SfxItemPool *pPool = nullptr ) const override;
};