sc/inc/broadcast.hxx              |   15 ---------------
 sc/source/core/data/broadcast.cxx |   33 ++++++++++++++-------------------
 2 files changed, 14 insertions(+), 34 deletions(-)

New commits:
commit b9b57133125179a88f7f68e14ef6cde888885ed1
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Oct 11 11:39:22 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Thu Oct 12 08:54:26 2023 +0200

    no need for these enums in BroadcasterState
    
    the std::variant already knows which alternative it stores
    
    Change-Id: I3838d83959cf6a97876aba3543179338ba088ccc
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157819
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sc/inc/broadcast.hxx b/sc/inc/broadcast.hxx
index b095f819acb7..55b1e64f0c9a 100644
--- a/sc/inc/broadcast.hxx
+++ b/sc/inc/broadcast.hxx
@@ -24,24 +24,10 @@ class FormulaGroupAreaListener;
 
 struct BroadcasterState
 {
-    enum class CellListenerType
-    {
-        FormulaCell,
-        Generic,
-    };
-
-    enum class AreaListenerType
-    {
-        FormulaCell,
-        FormulaGroup,
-        Generic,
-    };
-
     struct CellListener
     {
         using DataType = std::variant<const ScFormulaCell*, const 
SvtListener*>;
 
-        CellListenerType eType;
         DataType pData;
 
         CellListener(const ScFormulaCell* p);
@@ -53,7 +39,6 @@ struct BroadcasterState
         using DataType = std::variant<const ScFormulaCell*, const 
sc::FormulaGroupAreaListener*,
                                       const SvtListener*>;
 
-        AreaListenerType eType;
         DataType pData;
 
         AreaListener(const ScFormulaCell* p);
diff --git a/sc/source/core/data/broadcast.cxx 
b/sc/source/core/data/broadcast.cxx
index c0cd0c29edca..d76591692f15 100644
--- a/sc/source/core/data/broadcast.cxx
+++ b/sc/source/core/data/broadcast.cxx
@@ -14,32 +14,27 @@
 namespace sc
 {
 BroadcasterState::CellListener::CellListener(const ScFormulaCell* p)
-    : eType(CellListenerType::FormulaCell)
-    , pData(p)
+    : pData(p)
 {
 }
 
 BroadcasterState::CellListener::CellListener(const SvtListener* p)
-    : eType(CellListenerType::Generic)
-    , pData(p)
+    : pData(p)
 {
 }
 
 BroadcasterState::AreaListener::AreaListener(const ScFormulaCell* p)
-    : eType(AreaListenerType::FormulaCell)
-    , pData(p)
+    : pData(p)
 {
 }
 
 BroadcasterState::AreaListener::AreaListener(const 
sc::FormulaGroupAreaListener* p)
-    : eType(AreaListenerType::FormulaGroup)
-    , pData(p)
+    : pData(p)
 {
 }
 
 BroadcasterState::AreaListener::AreaListener(const SvtListener* p)
-    : eType(AreaListenerType::Generic)
-    , pData(p)
+    : pData(p)
 {
 }
 
@@ -52,7 +47,7 @@ bool BroadcasterState::hasFormulaCellListener(const 
ScAddress& rBroadcasterPos,
 
     for (const auto& rLis : it->second)
     {
-        if (rLis.eType == CellListenerType::FormulaCell)
+        if (rLis.pData.index() == 0)
         {
             auto pFC = std::get<const ScFormulaCell*>(rLis.pData);
             if (pFC->aPos == rFormulaPos)
@@ -72,7 +67,7 @@ bool BroadcasterState::hasFormulaCellListener(const ScRange& 
rBroadcasterRange,
 
     for (const auto& rLis : it->second)
     {
-        if (rLis.eType == AreaListenerType::FormulaCell)
+        if (rLis.pData.index() == 0)
         {
             auto pFC = std::get<const ScFormulaCell*>(rLis.pData);
             if (pFC->aPos == rFormulaPos)
@@ -99,16 +94,16 @@ void BroadcasterState::dump(std::ostream& rStrm, const 
ScDocument* pDoc) const
 
         for (const auto& rLis : rListeners)
         {
-            switch (rLis.eType)
+            switch (rLis.pData.index())
             {
-                case BroadcasterState::CellListenerType::FormulaCell:
+                case 0:
                 {
                     auto* pFC = std::get<const ScFormulaCell*>(rLis.pData);
                     rStrm << "  - type: formula-cell\n";
                     rStrm << "    position: " << pFC->aPos.Format(nPosFlags, 
pDoc) << std::endl;
                     break;
                 }
-                case BroadcasterState::CellListenerType::Generic:
+                case 1:
                 {
                     rStrm << "  - type: unknown" << std::endl;
                     break;
@@ -127,16 +122,16 @@ void BroadcasterState::dump(std::ostream& rStrm, const 
ScDocument* pDoc) const
 
         for (const auto& rLis : rListeners)
         {
-            switch (rLis.eType)
+            switch (rLis.pData.index())
             {
-                case BroadcasterState::AreaListenerType::FormulaCell:
+                case 0:
                 {
                     auto* pFC = std::get<const ScFormulaCell*>(rLis.pData);
                     rStrm << "  - type: formula-cell\n";
                     rStrm << "    position: " << pFC->aPos.Format(nPosFlags, 
pDoc) << std::endl;
                     break;
                 }
-                case BroadcasterState::AreaListenerType::FormulaGroup:
+                case 1:
                 {
                     auto* pFGL = std::get<const 
sc::FormulaGroupAreaListener*>(rLis.pData);
 
@@ -150,7 +145,7 @@ void BroadcasterState::dump(std::ostream& rStrm, const 
ScDocument* pDoc) const
                     }
                     break;
                 }
-                case BroadcasterState::AreaListenerType::Generic:
+                case 2:
                 {
                     rStrm << "  - type: unknown" << std::endl;
                     break;

Reply via email to