Blame SOURCES/0001-replace-boost-bimap-in-sdext-pdfimport.patch

d289e2
From 193b49763a03d63ba79db50c1fa0563ec0d6b0c3 Mon Sep 17 00:00:00 2001
d289e2
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
d289e2
Date: Wed, 29 Jan 2020 12:44:52 +0000
d289e2
Subject: [PATCH] replace boost::bimap in sdext pdfimport
d289e2
d289e2
Change-Id: Ie324a0b81931bbd427483878a87beeca455ada18
d289e2
---
d289e2
 sdext/source/pdfimport/inc/pdfiprocessor.hxx  | 12 ++++-------
d289e2
 sdext/source/pdfimport/tree/pdfiprocessor.cxx | 21 +++++++++++--------
d289e2
 2 files changed, 16 insertions(+), 17 deletions(-)
d289e2
d289e2
diff --git a/sdext/source/pdfimport/inc/pdfiprocessor.hxx b/sdext/source/pdfimport/inc/pdfiprocessor.hxx
d289e2
index 89f9d601b7b0..9e08d6a6a765 100644
d289e2
--- a/sdext/source/pdfimport/inc/pdfiprocessor.hxx
d289e2
+++ b/sdext/source/pdfimport/inc/pdfiprocessor.hxx
d289e2
@@ -37,9 +37,6 @@
d289e2
 #include "treevisitorfactory.hxx"
d289e2
 #include "genericelements.hxx"
d289e2
 
d289e2
-#include <boost/bimap/bimap.hpp>
d289e2
-#include <boost/bimap/unordered_set_of.hpp>
d289e2
-
d289e2
 namespace pdfi
d289e2
 {
d289e2
 
d289e2
@@ -160,10 +157,8 @@ namespace pdfi
d289e2
         typedef std::unordered_map<sal_Int32,FontAttributes> IdToFontMap;
d289e2
         typedef std::unordered_map<FontAttributes,sal_Int32,FontAttrHash> FontToIdMap;
d289e2
 
d289e2
-        typedef boost::bimaps::bimap<
d289e2
-                             boost::bimaps::unordered_set_of<GraphicsContext, GraphicsContextHash>,
d289e2
-                             boost::bimaps::unordered_set_of<sal_Int32>
d289e2
-                            > GCToIdBiMap;
d289e2
+        typedef std::unordered_map<sal_Int32,GraphicsContext> IdToGCMap;
d289e2
+        typedef std::unordered_map<GraphicsContext, sal_Int32, GraphicsContextHash> GCToIdMap;
d289e2
 
d289e2
         typedef std::vector<GraphicsContext> GraphicsContextStack;
d289e2
 
d289e2
@@ -178,7 +173,8 @@ namespace pdfi
d289e2
 
d289e2
         GraphicsContextStack               m_aGCStack;
d289e2
         sal_Int32                          m_nNextGCId;
d289e2
-        GCToIdBiMap                        m_aGCToId;
d289e2
+        IdToGCMap                          m_aIdToGC;
d289e2
+        GCToIdMap                          m_aGCToId;
d289e2
 
d289e2
         ImageContainer                     m_aImages;
d289e2
 
d289e2
diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
d289e2
index c6baa7fee8b2..ed2eaf6510b9 100644
d289e2
--- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx
d289e2
+++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
d289e2
@@ -54,6 +54,7 @@ namespace pdfi
d289e2
     m_aFontToId(),
d289e2
     m_aGCStack(),
d289e2
     m_nNextGCId( 1 ),
d289e2
+    m_aIdToGC(),
d289e2
     m_aGCToId(),
d289e2
     m_aImages(),
d289e2
     m_nPages(0),
d289e2
@@ -65,12 +66,13 @@ namespace pdfi
d289e2
     aDefFont.isBold     = false;
d289e2
     aDefFont.isItalic   = false;
d289e2
     aDefFont.size       = 10*PDFI_OUTDEV_RESOLUTION/72;
d289e2
-    m_aIdToFont[ 0 ]    = aDefFont;
d289e2
-    m_aFontToId[ aDefFont ] = 0;
d289e2
+    m_aIdToFont.insert({0, aDefFont});
d289e2
+    m_aFontToId.insert({aDefFont, 0});
d289e2
 
d289e2
     GraphicsContext aDefGC;
d289e2
     m_aGCStack.push_back( aDefGC );
d289e2
-    m_aGCToId.insert(GCToIdBiMap::relation(aDefGC, 0));
d289e2
+    m_aGCToId.insert({aDefGC, 0});
d289e2
+    m_aIdToGC.insert({0, aDefGC});
d289e2
 }
d289e2
 
d289e2
 void PDFIProcessor::setPageNum( sal_Int32 nPages )
d289e2
@@ -468,12 +470,13 @@ const FontAttributes& PDFIProcessor::getFont( sal_Int32 nFontId ) const
d289e2
 sal_Int32 PDFIProcessor::getGCId( const GraphicsContext& rGC )
d289e2
 {
d289e2
     sal_Int32 nGCId = 0;
d289e2
-    auto it = m_aGCToId.left.find( rGC );
d289e2
-    if( it != m_aGCToId.left.end() )
d289e2
+    auto it = m_aGCToId.find( rGC );
d289e2
+    if( it != m_aGCToId.end() )
d289e2
         nGCId = it->second;
d289e2
     else
d289e2
     {
d289e2
-        m_aGCToId.insert(GCToIdBiMap::relation(rGC, m_nNextGCId));
d289e2
+        m_aGCToId.insert({rGC, m_nNextGCId});
d289e2
+        m_aIdToGC.insert({m_nNextGCId, rGC});
d289e2
         nGCId = m_nNextGCId;
d289e2
         m_nNextGCId++;
d289e2
     }
d289e2
@@ -483,9 +486,9 @@ sal_Int32 PDFIProcessor::getGCId( const GraphicsContext& rGC )
d289e2
 
d289e2
 const GraphicsContext& PDFIProcessor::getGraphicsContext( sal_Int32 nGCId ) const
d289e2
 {
d289e2
-    auto it = m_aGCToId.right.find( nGCId );
d289e2
-    if( it == m_aGCToId.right.end() )
d289e2
-        it = m_aGCToId.right.find( 0 );
d289e2
+    auto it = m_aIdToGC.find( nGCId );
d289e2
+    if( it == m_aIdToGC.end() )
d289e2
+        it = m_aIdToGC.find( 0 );
d289e2
     return it->second;
d289e2
 }
d289e2
 
d289e2
-- 
d289e2
2.24.1
d289e2