[Libreoffice-commits] core.git: basegfx/test canvas/source slideshow/inc slideshow/source sw/inc sw/source writerfilter/inc writerfilter/qa writerfilter/source xmloff/inc xmloff/source

Caolán McNamara caolanm at redhat.com
Sun Jan 31 09:26:37 PST 2016


 basegfx/test/basegfxtools.cxx                                        |   17 -
 canvas/source/cairo/cairo_canvashelper.cxx                           |    5 
 canvas/source/directx/dx_canvashelper_texturefill.cxx                |    4 
 canvas/source/vcl/canvashelper_texturefill.cxx                       |    8 
 slideshow/inc/pch/precompiled_slideshow.hxx                          |    2 
 slideshow/source/engine/activities/continuouskeytimeactivitybase.cxx |    5 
 sw/inc/pch/precompiled_sw.hxx                                        |    2 
 sw/source/core/doc/SwStyleNameMapper.cxx                             |   32 +-
 writerfilter/inc/pch/precompiled_writerfilter.hxx                    |    2 
 writerfilter/qa/cppunittests/misc/misc.cxx                           |  141 ++++------
 writerfilter/source/dmapper/DomainMapper_Impl.cxx                    |   17 -
 writerfilter/source/dmapper/DomainMapper_Impl.hxx                    |   10 
 writerfilter/source/rtftok/rtfdocumentimpl.cxx                       |   78 ++---
 writerfilter/source/rtftok/rtfdocumentimpl.hxx                       |    6 
 xmloff/inc/pch/precompiled_xo.hxx                                    |    2 
 xmloff/inc/txtlists.hxx                                              |    8 
 xmloff/source/text/txtimp.cxx                                        |   21 -
 xmloff/source/text/txtlists.cxx                                      |   16 -
 18 files changed, 184 insertions(+), 192 deletions(-)

New commits:
commit 1fd280f2c63cdf8d24b48c02fe384f0bc20682c1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Jan 31 12:28:28 2016 +0000

    boost::tuple -> std::tuple
    
    Change-Id: Ia08c184b792ff73d3ed49d6a5d54dec1a35943e9
    Reviewed-on: https://gerrit.libreoffice.org/21955
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/basegfx/test/basegfxtools.cxx b/basegfx/test/basegfxtools.cxx
index f0a6b7f..0577c7b 100644
--- a/basegfx/test/basegfxtools.cxx
+++ b/basegfx/test/basegfxtools.cxx
@@ -25,10 +25,7 @@
 #include <basegfx/tools/keystoplerp.hxx>
 #include <basegfx/numeric/ftools.hxx>
 
-#include <boost/tuple/tuple.hpp>
-
 using namespace ::basegfx;
-using namespace ::boost::tuples;
 
 namespace basegfxtools
 {
@@ -62,25 +59,25 @@ public:
         double fAlpha;
         std::ptrdiff_t nIndex;
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(-1.0);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(-1.0);
         CPPUNIT_ASSERT_MESSAGE("-1.0", nIndex==0 && fAlpha==0.0);
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(0.1);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(0.1);
         CPPUNIT_ASSERT_MESSAGE("0.1", nIndex==0 && fAlpha==0.0);
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(0.3);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(0.3);
         CPPUNIT_ASSERT_MESSAGE("0.3", nIndex==0 && fTools::equal(fAlpha,0.5));
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(0.5);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(0.5);
         CPPUNIT_ASSERT_MESSAGE("0.5", nIndex==0 && fTools::equal(fAlpha,1.0));
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(0.51);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(0.51);
         CPPUNIT_ASSERT_MESSAGE("0.51", nIndex==1 && fTools::equal(fAlpha,0.025));
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(0.9);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(0.9);
         CPPUNIT_ASSERT_MESSAGE("0.51", nIndex==1 && fTools::equal(fAlpha,1.0));
 
-        tie(nIndex,fAlpha) = maKeyStops.lerp(1.0);
+        std::tie(nIndex,fAlpha) = maKeyStops.lerp(1.0);
         CPPUNIT_ASSERT_MESSAGE("0.51", nIndex==1 && fAlpha==1.0);
     }
 
diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx
index b516db0..fa76626 100644
--- a/canvas/source/cairo/cairo_canvashelper.cxx
+++ b/canvas/source/cairo/cairo_canvashelper.cxx
@@ -20,8 +20,7 @@
 #include <sal/config.h>
 
 #include <algorithm>
-
-#include <boost/tuple/tuple.hpp>
+#include <tuple>
 
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/point/b2dpoint.hxx>
@@ -868,7 +867,7 @@ namespace cairocanvas
 
                                     std::ptrdiff_t nIndex;
                                     double fAlpha;
-                                    boost::tuples::tie(nIndex,fAlpha)=aLerper.lerp(fT);
+                                    std::tie(nIndex,fAlpha)=aLerper.lerp(fT);
 
                                     setColor(pCairo, lerp(pColors[nIndex], pColors[nIndex+1], fAlpha));
                                     cairo_rectangle( pCairo, -1+fT, -1+fT, 2-2*fT, 2-2*fT );
diff --git a/canvas/source/directx/dx_canvashelper_texturefill.cxx b/canvas/source/directx/dx_canvashelper_texturefill.cxx
index 3d5f893..2cd8636 100644
--- a/canvas/source/directx/dx_canvashelper_texturefill.cxx
+++ b/canvas/source/directx/dx_canvashelper_texturefill.cxx
@@ -19,7 +19,7 @@
 
 #include <sal/config.h>
 
-#include <boost/tuple/tuple.hpp>
+#include <tuple>
 
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
@@ -325,7 +325,7 @@ namespace dxcanvas
                     std::ptrdiff_t nIndex;
                     double fAlpha;
                     const double fT( i/double(nStepCount) );
-                    boost::tuples::tie(nIndex,fAlpha)=aLerper.lerp(fT);
+                    std::tie(nIndex,fAlpha)=aLerper.lerp(fT);
 
                     const Gdiplus::Color aFillColor(
                         static_cast<BYTE>( basegfx::tools::lerp(rColors[nIndex].GetRed(),rColors[nIndex+1].GetRed(),fAlpha) ),
diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx b/canvas/source/vcl/canvashelper_texturefill.cxx
index 8f85a4f..4f9d600 100644
--- a/canvas/source/vcl/canvashelper_texturefill.cxx
+++ b/canvas/source/vcl/canvashelper_texturefill.cxx
@@ -19,7 +19,7 @@
 
 #include <sal/config.h>
 
-#include <boost/tuple/tuple.hpp>
+#include <tuple>
 
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/numeric/ftools.hxx>
@@ -205,7 +205,7 @@ namespace vclcanvas
             {
                 std::ptrdiff_t nIndex;
                 double fAlpha;
-                boost::tuples::tie(nIndex,fAlpha)=aLerper.lerp(double(i)/nStepCount);
+                std::tie(nIndex,fAlpha)=aLerper.lerp(double(i)/nStepCount);
 
                 rOutDev.SetFillColor(
                     Color( (sal_uInt8)(basegfx::tools::lerp(rColors[nIndex].GetRed(),rColors[nIndex+1].GetRed(),fAlpha)),
@@ -371,7 +371,7 @@ namespace vclcanvas
 
                     std::ptrdiff_t nIndex;
                     double fAlpha;
-                    boost::tuples::tie(nIndex,fAlpha)=aLerper.lerp(fT);
+                    std::tie(nIndex,fAlpha)=aLerper.lerp(fT);
 
                     // lerp color
                     rOutDev.SetFillColor(
@@ -429,7 +429,7 @@ namespace vclcanvas
 
                     std::ptrdiff_t nIndex;
                     double fAlpha;
-                    boost::tuples::tie(nIndex,fAlpha)=aLerper.lerp(fT);
+                    std::tie(nIndex,fAlpha)=aLerper.lerp(fT);
 
                     // lerp color
                     rOutDev.SetFillColor(
diff --git a/slideshow/inc/pch/precompiled_slideshow.hxx b/slideshow/inc/pch/precompiled_slideshow.hxx
index 8d36b96..19356d9 100644
--- a/slideshow/inc/pch/precompiled_slideshow.hxx
+++ b/slideshow/inc/pch/precompiled_slideshow.hxx
@@ -50,6 +50,7 @@
 #include <string.h>
 #include <string>
 #include <type_traits>
+#include <tuple>
 #include <typeinfo>
 #include <utility>
 #include <vector>
@@ -61,7 +62,6 @@
 #include <boost/optional.hpp>
 #include <boost/shared_array.hpp>
 #include <boost/shared_ptr.hpp>
-#include <boost/tuple/tuple.hpp>
 #include <boost/weak_ptr.hpp>
 #include <osl/diagnose.h>
 #include <osl/diagnose.hxx>
diff --git a/slideshow/source/engine/activities/continuouskeytimeactivitybase.cxx b/slideshow/source/engine/activities/continuouskeytimeactivitybase.cxx
index c065b5e..045de8a 100644
--- a/slideshow/source/engine/activities/continuouskeytimeactivitybase.cxx
+++ b/slideshow/source/engine/activities/continuouskeytimeactivitybase.cxx
@@ -22,10 +22,9 @@
 
 #include <continuouskeytimeactivitybase.hxx>
 
-#include <boost/tuple/tuple.hpp>
 #include <algorithm>
 #include <iterator>
-
+#include <tuple>
 
 namespace slideshow
 {
@@ -52,7 +51,7 @@ namespace slideshow
             double fAlpha( calcAcceleratedTime( nSimpleTime ) );
             std::ptrdiff_t nIndex;
 
-            boost::tuples::tie(nIndex,fAlpha) = maLerper.lerp(fAlpha);
+            std::tie(nIndex,fAlpha) = maLerper.lerp(fAlpha);
 
             perform(
                 nIndex,
diff --git a/sw/inc/pch/precompiled_sw.hxx b/sw/inc/pch/precompiled_sw.hxx
index 4284e8d..a78036f 100644
--- a/sw/inc/pch/precompiled_sw.hxx
+++ b/sw/inc/pch/precompiled_sw.hxx
@@ -46,6 +46,7 @@
 #include <string>
 #include <swdllapi.h>
 #include <swerror.h>
+#include <tuple>
 #include <typeinfo>
 #include <unomid.h>
 #include <unordered_map>
@@ -56,7 +57,6 @@
 #include <boost/optional.hpp>
 #include <boost/optional/optional.hpp>
 #include <boost/property_tree/json_parser.hpp>
-#include <boost/tuple/tuple.hpp>
 #include <osl/diagnose.h>
 #include <osl/diagnose.hxx>
 #include <osl/endian.h>
diff --git a/sw/source/core/doc/SwStyleNameMapper.cxx b/sw/source/core/doc/SwStyleNameMapper.cxx
index b46ae0c..28de8c4 100644
--- a/sw/source/core/doc/SwStyleNameMapper.cxx
+++ b/sw/source/core/doc/SwStyleNameMapper.cxx
@@ -18,7 +18,7 @@
  */
 
 #include <numeric>
-#include <boost/tuple/tuple.hpp>
+#include <tuple>
 
 #include <SwStyleNameMapper.hxx>
 #include <tools/resmgr.hxx>
@@ -392,11 +392,11 @@ static void lcl_CheckSuffixAndDelete(OUString & rString)
     }
 }
 
-typedef boost::tuple<sal_uInt16, sal_uInt16, const ::std::vector<OUString>& (*)() > NameArrayIndexTuple_t;
+typedef std::tuple<sal_uInt16, sal_uInt16, const std::vector<OUString>& (*)() > NameArrayIndexTuple_t;
 
 static sal_uInt16 lcl_AccumulateIndexCount( sal_uInt16 nSum, const NameArrayIndexTuple_t& tuple ){
     // Return running sum + (index end) - (index start)
-    return nSum + boost::get<1>( tuple ) - boost::get<0>( tuple );
+    return nSum + std::get<1>( tuple ) - std::get<0>( tuple );
 }
 }
 
@@ -436,37 +436,37 @@ const NameToIdHash & SwStyleNameMapper::getHashTable ( SwGetPoolIdFromName eFlag
         case nsSwGetPoolIdFromName::GET_POOLID_TXTCOLL:
         {
             pHashPointer = bProgName ? &m_pParaProgMap : &m_pParaUIMap;
-            vIndexes.push_back( boost::make_tuple(RES_POOLCOLL_TEXT_BEGIN, RES_POOLCOLL_TEXT_END, bProgName ? &GetTextProgNameArray : &GetTextUINameArray) );
-            vIndexes.push_back( boost::make_tuple(RES_POOLCOLL_LISTS_BEGIN, RES_POOLCOLL_LISTS_END, bProgName ? &GetListsProgNameArray : &GetListsUINameArray) );
-            vIndexes.push_back( boost::make_tuple(RES_POOLCOLL_EXTRA_BEGIN, RES_POOLCOLL_EXTRA_END, bProgName ? &GetExtraProgNameArray : &GetExtraUINameArray) );
-            vIndexes.push_back( boost::make_tuple(RES_POOLCOLL_REGISTER_BEGIN, RES_POOLCOLL_REGISTER_END, bProgName ? &GetRegisterProgNameArray : &GetRegisterUINameArray) );
-            vIndexes.push_back( boost::make_tuple(RES_POOLCOLL_DOC_BEGIN, RES_POOLCOLL_DOC_END, bProgName ? &GetDocProgNameArray : &GetDocUINameArray) );
-            vIndexes.push_back( boost::make_tuple(RES_POOLCOLL_HTML_BEGIN, RES_POOLCOLL_HTML_END, bProgName ? &GetHTMLProgNameArray : &GetHTMLUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCOLL_TEXT_BEGIN, RES_POOLCOLL_TEXT_END, bProgName ? &GetTextProgNameArray : &GetTextUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCOLL_LISTS_BEGIN, RES_POOLCOLL_LISTS_END, bProgName ? &GetListsProgNameArray : &GetListsUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCOLL_EXTRA_BEGIN, RES_POOLCOLL_EXTRA_END, bProgName ? &GetExtraProgNameArray : &GetExtraUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCOLL_REGISTER_BEGIN, RES_POOLCOLL_REGISTER_END, bProgName ? &GetRegisterProgNameArray : &GetRegisterUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCOLL_DOC_BEGIN, RES_POOLCOLL_DOC_END, bProgName ? &GetDocProgNameArray : &GetDocUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCOLL_HTML_BEGIN, RES_POOLCOLL_HTML_END, bProgName ? &GetHTMLProgNameArray : &GetHTMLUINameArray) );
         }
         break;
         case nsSwGetPoolIdFromName::GET_POOLID_CHRFMT:
         {
             pHashPointer = bProgName ? &m_pCharProgMap : &m_pCharUIMap;
-            vIndexes.push_back( boost::make_tuple(RES_POOLCHR_NORMAL_BEGIN, RES_POOLCHR_NORMAL_END, bProgName ? &GetChrFormatProgNameArray : &GetChrFormatUINameArray) );
-            vIndexes.push_back( boost::make_tuple(RES_POOLCHR_HTML_BEGIN, RES_POOLCHR_HTML_END, bProgName ? &GetHTMLChrFormatProgNameArray : &GetHTMLChrFormatUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCHR_NORMAL_BEGIN, RES_POOLCHR_NORMAL_END, bProgName ? &GetChrFormatProgNameArray : &GetChrFormatUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLCHR_HTML_BEGIN, RES_POOLCHR_HTML_END, bProgName ? &GetHTMLChrFormatProgNameArray : &GetHTMLChrFormatUINameArray) );
         }
         break;
         case nsSwGetPoolIdFromName::GET_POOLID_FRMFMT:
         {
             pHashPointer = bProgName ? &m_pFrameProgMap : &m_pFrameUIMap;
-            vIndexes.push_back( boost::make_tuple(RES_POOLFRM_BEGIN, RES_POOLFRM_END, bProgName ? &GetFrameFormatProgNameArray : &GetFrameFormatUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLFRM_BEGIN, RES_POOLFRM_END, bProgName ? &GetFrameFormatProgNameArray : &GetFrameFormatUINameArray) );
         }
         break;
         case nsSwGetPoolIdFromName::GET_POOLID_PAGEDESC:
         {
             pHashPointer = bProgName ? &m_pPageProgMap : &m_pPageUIMap;
-            vIndexes.push_back( boost::make_tuple(RES_POOLPAGE_BEGIN, RES_POOLPAGE_END, bProgName ? &GetPageDescProgNameArray : &GetPageDescUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLPAGE_BEGIN, RES_POOLPAGE_END, bProgName ? &GetPageDescProgNameArray : &GetPageDescUINameArray) );
         }
         break;
         case nsSwGetPoolIdFromName::GET_POOLID_NUMRULE:
         {
             pHashPointer = bProgName ? &m_pNumRuleProgMap : &m_pNumRuleUIMap;
-            vIndexes.push_back( boost::make_tuple(RES_POOLNUMRULE_BEGIN, RES_POOLNUMRULE_END, bProgName ? &GetNumRuleProgNameArray : &GetNumRuleUINameArray) );
+            vIndexes.push_back( std::make_tuple(RES_POOLNUMRULE_BEGIN, RES_POOLNUMRULE_END, bProgName ? &GetNumRuleProgNameArray : &GetNumRuleUINameArray) );
         }
         break;
     }
@@ -482,12 +482,12 @@ const NameToIdHash & SwStyleNameMapper::getHashTable ( SwGetPoolIdFromName eFlag
         for ( ::std::vector<NameArrayIndexTuple_t>::iterator entry = vIndexes.begin(); entry != vIndexes.end(); ++entry )
         {
             // Get a pointer to the function which will populate pStrings
-            const ::std::vector<OUString>& (*pStringsFetchFunc)() = boost::get<2>( *entry );
+            const ::std::vector<OUString>& (*pStringsFetchFunc)() = std::get<2>( *entry );
             if ( pStringsFetchFunc )
             {
                 const ::std::vector<OUString>& pStrings = pStringsFetchFunc();
                 sal_uInt16 nIndex, nId;
-                for ( nIndex = 0, nId = boost::get<0>( *entry ) ; nId < boost::get<1>( *entry ) ; nId++, nIndex++ )
+                for ( nIndex = 0, nId = std::get<0>( *entry ) ; nId < std::get<1>( *entry ) ; nId++, nIndex++ )
                     (*pHash)[pStrings[nIndex]] = nId;
             }
         }
diff --git a/writerfilter/inc/pch/precompiled_writerfilter.hxx b/writerfilter/inc/pch/precompiled_writerfilter.hxx
index 67990b7..5dbae6e 100644
--- a/writerfilter/inc/pch/precompiled_writerfilter.hxx
+++ b/writerfilter/inc/pch/precompiled_writerfilter.hxx
@@ -28,11 +28,11 @@
 #include <memory>
 #include <ostream>
 #include <stdlib.h>
+#include <tuple>
 #include <vector>
 #include <boost/intrusive_ptr.hpp>
 #include <boost/logic/tribool.hpp>
 #include <boost/optional.hpp>
-#include <boost/tuple/tuple.hpp>
 #include <osl/diagnose.h>
 #include <osl/doublecheckedlocking.h>
 #include <osl/file.hxx>
diff --git a/writerfilter/qa/cppunittests/misc/misc.cxx b/writerfilter/qa/cppunittests/misc/misc.cxx
index 3d5cef4..0d788ba 100644
--- a/writerfilter/qa/cppunittests/misc/misc.cxx
+++ b/writerfilter/qa/cppunittests/misc/misc.cxx
@@ -8,10 +8,9 @@
  */
 
 #include <limits>
+#include <tuple>
 #include <vector>
 
-#include <boost/tuple/tuple.hpp>
-
 #include <cppunit/TestAssert.h>
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>
@@ -72,94 +71,94 @@ void WriterfilterMiscTest::testTwipConversions()
 void WriterfilterMiscTest::testFieldParameters()
 {
     using writerfilter::dmapper::lcl_SplitFieldCommand;
-    boost::tuple<OUString, std::vector<OUString>, std::vector<OUString> > result;
+    std::tuple<OUString, std::vector<OUString>, std::vector<OUString> > result;
 
     result = lcl_SplitFieldCommand("PAGEREF last_page");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand(" PAGEREF last_page ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
 
     result = lcl_SplitFieldCommand("pageref last_page");
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("pageref \"last_page\"");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("\"PAGEREF\" \"last_page\" \"\" ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(2), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(OUString(), boost::get<1>(result)[1]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString(), std::get<1>(result)[1]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("\"PAGEREF\"\"last_page\"  ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("PAGEREF\"last_page\"  ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("\"PAGEREF\"last_page \"\"");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(2), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(OUString(), boost::get<1>(result)[1]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString(), std::get<1>(result)[1]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("\"PAGEREF\"last_page \"\"");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(2), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(OUString(), boost::get<1>(result)[1]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString(), std::get<1>(result)[1]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("pageref \"last\\\\pa\\\"ge\"");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last\\pa\"ge"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT(boost::get<2>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last\\pa\"ge"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT(std::get<2>(result).empty());
 
     result = lcl_SplitFieldCommand("PAGEREF\"last_page\"\\*");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<2>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("\\*"), boost::get<2>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<2>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("\\*"), std::get<2>(result)[0]);
 
     result = lcl_SplitFieldCommand("PAGEREF  last_page   \\b   foobar ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(size_t(1), boost::get<1>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), boost::get<1>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(size_t(2), boost::get<2>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("\\B"), boost::get<2>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(OUString("foobar"), boost::get<2>(result)[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<2>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("\\B"), std::get<2>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("foobar"), std::get<2>(result)[1]);
 
     result = lcl_SplitFieldCommand("PAGEREF\\bfoobar\\A\"\"");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), boost::get<0>(result));
-    CPPUNIT_ASSERT(boost::get<1>(result).empty());
-    CPPUNIT_ASSERT_EQUAL(size_t(4), boost::get<2>(result).size());
-    CPPUNIT_ASSERT_EQUAL(OUString("\\B"), boost::get<2>(result)[0]);
-    CPPUNIT_ASSERT_EQUAL(OUString("foobar"), boost::get<2>(result)[1]);
-    CPPUNIT_ASSERT_EQUAL(OUString("\\A"), boost::get<2>(result)[2]);
-    CPPUNIT_ASSERT_EQUAL(OUString(), boost::get<2>(result)[3]);
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
+    CPPUNIT_ASSERT(std::get<1>(result).empty());
+    CPPUNIT_ASSERT_EQUAL(size_t(4), std::get<2>(result).size());
+    CPPUNIT_ASSERT_EQUAL(OUString("\\B"), std::get<2>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("foobar"), std::get<2>(result)[1]);
+    CPPUNIT_ASSERT_EQUAL(OUString("\\A"), std::get<2>(result)[2]);
+    CPPUNIT_ASSERT_EQUAL(OUString(), std::get<2>(result)[3]);
 
     for (auto prefix : {"#", "$", "%", "&", "'", "(", ")", "*", "+", ",",
                         "-", ".", "/", ":", ";", "<", ">", "?", "@", "[",
@@ -167,19 +166,19 @@ void WriterfilterMiscTest::testFieldParameters()
     {
         OUString test(OUString::createFromAscii(prefix) + "PAGE");
         result = lcl_SplitFieldCommand(test + " ");
-        CPPUNIT_ASSERT_EQUAL(test, boost::get<0>(result));
+        CPPUNIT_ASSERT_EQUAL(test, std::get<0>(result));
     }
     result = lcl_SplitFieldCommand("\\PAGE ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), boost::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), std::get<0>(result));
     result = lcl_SplitFieldCommand("\\ PAGE ");
-    CPPUNIT_ASSERT_EQUAL(OUString("\\ "), boost::get<0>(result));
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), boost::get<1>(result)[0]);
+    CPPUNIT_ASSERT_EQUAL(OUString("\\ "), std::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), std::get<1>(result)[0]);
     result = lcl_SplitFieldCommand("\\\\PAGE ");
-    CPPUNIT_ASSERT_EQUAL(OUString("\\PAGE"), boost::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(OUString("\\PAGE"), std::get<0>(result));
     result = lcl_SplitFieldCommand("\"PAGE\" ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), boost::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), std::get<0>(result));
     result = lcl_SplitFieldCommand("\"PAGE ");
-    CPPUNIT_ASSERT_EQUAL(OUString("PAGE "), boost::get<0>(result));
+    CPPUNIT_ASSERT_EQUAL(OUString("PAGE "), std::get<0>(result));
 }
 
 CPPUNIT_TEST_SUITE_REGISTRATION(WriterfilterMiscTest);
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index eeb11a0..797e54d 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -74,7 +74,7 @@
 #include <oox/token/tokens.hxx>
 
 #include <map>
-#include <boost/tuple/tuple.hpp>
+#include <tuple>
 
 #include <vcl/svapp.hxx>
 #include <vcl/outdev.hxx>
@@ -2288,7 +2288,7 @@ static OUString lcl_ExtractToken(OUString const& rCommand,
     return token.makeStringAndClear();
 }
 
-boost::tuple<OUString, std::vector<OUString>, std::vector<OUString> >
+std::tuple<OUString, std::vector<OUString>, std::vector<OUString> >
 lcl_SplitFieldCommand(const OUString& rCommand)
 {
     OUString sType;
@@ -2330,10 +2330,9 @@ lcl_SplitFieldCommand(const OUString& rCommand)
         }
     } while (nStartIndex < rCommand.getLength());
 
-    return boost::make_tuple(sType, arguments, switches);
+    return std::make_tuple(sType, arguments, switches);
 }
 
-
 OUString lcl_ExctractAskVariableAndHint( const OUString& rCommand, OUString& rHint )
 {
     // the first word after "ASK " is the variable
@@ -3555,13 +3554,13 @@ void DomainMapper_Impl::CloseFieldCommand()
         {
             uno::Reference< uno::XInterface > xFieldInterface;
 
-            boost::tuple<OUString, std::vector<OUString>, std::vector<OUString> > const
+            std::tuple<OUString, std::vector<OUString>, std::vector<OUString> > const
                 field(lcl_SplitFieldCommand(pContext->GetCommand()));
-            OUString const sFirstParam(boost::get<1>(field).empty()
-                    ? OUString() : boost::get<1>(field).front());
+            OUString const sFirstParam(std::get<1>(field).empty()
+                    ? OUString() : std::get<1>(field).front());
 
             FieldConversionMap_t::iterator const aIt =
-                aFieldConversionMap.find(boost::get<0>(field));
+                aFieldConversionMap.find(std::get<0>(field));
             if(aIt != aFieldConversionMap.end())
             {
                 bool bCreateEnhancedField = false;
@@ -3614,7 +3613,7 @@ void DomainMapper_Impl::CloseFieldCommand()
                     {
                         FieldConversionMap_t aEnhancedFieldConversionMap = lcl_GetEnhancedFieldConversion();
                         FieldConversionMap_t::iterator aEnhancedIt =
-                            aEnhancedFieldConversionMap.find(boost::get<0>(field));
+                            aEnhancedFieldConversionMap.find(std::get<0>(field));
                         if ( aEnhancedIt != aEnhancedFieldConversionMap.end())
                             sServiceName += OUString::createFromAscii(aEnhancedIt->second.cFieldServiceName );
                     }
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
index a5e495a..5d47c72 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
@@ -27,12 +27,12 @@
 #include <com/sun/star/text/XTextFrame.hpp>
 #include <com/sun/star/style/TabStop.hpp>
 #include <com/sun/star/container/XNameContainer.hpp>
-#include <vector>
-#include <stack>
 #include <queue>
-#include <boost/optional.hpp>
-#include <boost/tuple/tuple.hpp>
+#include <stack>
+#include <tuple>
 #include <unordered_map>
+#include <vector>
+#include <boost/optional.hpp>
 
 #include <ooxml/resourceids.hxx>
 
@@ -871,7 +871,7 @@ private:
 };
 
 // export just for test
-SAL_DLLPUBLIC_EXPORT boost::tuple<OUString, std::vector<OUString>, std::vector<OUString> >
+SAL_DLLPUBLIC_EXPORT std::tuple<OUString, std::vector<OUString>, std::vector<OUString> >
     lcl_SplitFieldCommand(const OUString& rCommand);
 
 } //namespace dmapper
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 0d6cd61..10db153 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -513,7 +513,7 @@ void RTFDocumentImpl::checkNeedPap()
         {
             auto pValue = std::make_shared<RTFValue>(m_aStates.top().aParagraphAttributes, m_aStates.top().aParagraphSprms);
             m_aStates.top().pCurrentBuffer->push_back(
-                Buf_t(BUFFER_PROPS, pValue));
+                Buf_t(BUFFER_PROPS, pValue, nullptr));
         }
     }
 }
@@ -528,7 +528,7 @@ void RTFDocumentImpl::runProps()
     else
     {
         auto pValue = std::make_shared<RTFValue>(m_aStates.top().aCharacterAttributes, m_aStates.top().aCharacterSprms);
-        m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, pValue));
+        m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, pValue, nullptr));
     }
 
     // Delete the sprm, so the trackchange range will be started only once.
@@ -1011,7 +1011,7 @@ void RTFDocumentImpl::resolvePict(bool const bInline, uno::Reference<drawing::XS
     else
     {
         auto pValue = std::make_shared<RTFValue>(aAttributes, aSprms);
-        m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, pValue));
+        m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, pValue, nullptr));
     }
 }
 
@@ -1149,10 +1149,10 @@ void RTFDocumentImpl::singleChar(sal_uInt8 nValue, bool bRunProps)
     }
     else
     {
-        pCurrentBuffer->push_back(Buf_t(BUFFER_STARTRUN));
+        pCurrentBuffer->push_back(Buf_t(BUFFER_STARTRUN, nullptr, nullptr));
         auto pValue = std::make_shared<RTFValue>(*sValue);
-        pCurrentBuffer->push_back(Buf_t(BUFFER_TEXT, pValue));
-        pCurrentBuffer->push_back(Buf_t(BUFFER_ENDRUN));
+        pCurrentBuffer->push_back(Buf_t(BUFFER_TEXT, pValue, nullptr));
+        pCurrentBuffer->push_back(Buf_t(BUFFER_ENDRUN, nullptr, nullptr));
     }
 }
 
@@ -1307,7 +1307,7 @@ void RTFDocumentImpl::text(OUString& rString)
     if (m_aStates.top().aTableCellSprms.find(NS_ooxml::LN_CT_TcPrBase_vAlign).get() &&
             m_nTopLevelCells == 0)
     {
-        m_aTableBufferStack.back().push_back(Buf_t(BUFFER_UTEXT, std::make_shared<RTFValue>(rString)));
+        m_aTableBufferStack.back().push_back(Buf_t(BUFFER_UTEXT, std::make_shared<RTFValue>(rString), nullptr));
         return;
     }
 
@@ -1328,7 +1328,7 @@ void RTFDocumentImpl::text(OUString& rString)
     else if (pCurrentBuffer)
     {
         RTFValue::Pointer_t pValue;
-        pCurrentBuffer->push_back(Buf_t(BUFFER_STARTRUN, pValue));
+        pCurrentBuffer->push_back(Buf_t(BUFFER_STARTRUN, pValue, nullptr));
     }
 
     if (m_aStates.top().eDestination == Destination::NORMAL
@@ -1341,7 +1341,7 @@ void RTFDocumentImpl::text(OUString& rString)
     else
     {
         auto pValue = std::make_shared<RTFValue>(rString);
-        pCurrentBuffer->push_back(Buf_t(BUFFER_UTEXT, pValue));
+        pCurrentBuffer->push_back(Buf_t(BUFFER_UTEXT, pValue, nullptr));
     }
 
     m_bNeedCr = true;
@@ -1351,7 +1351,7 @@ void RTFDocumentImpl::text(OUString& rString)
     else if (pCurrentBuffer)
     {
         RTFValue::Pointer_t pValue;
-        pCurrentBuffer->push_back(Buf_t(BUFFER_ENDRUN, pValue));
+        pCurrentBuffer->push_back(Buf_t(BUFFER_ENDRUN, pValue, nullptr));
     }
 }
 
@@ -1424,7 +1424,7 @@ void RTFDocumentImpl::replayRowBuffer(
     }
     for (size_t i = 0; i < rBuffer.size(); ++i)
     {
-        SAL_WARN_IF(BUFFER_CELLEND == boost::get<0>(rBuffer[i]),
+        SAL_WARN_IF(BUFFER_CELLEND == std::get<0>(rBuffer[i]),
                     "writerfilter.rtf", "dropping table cell!");
     }
     assert(0 == rCellsSrpms.size());
@@ -1438,17 +1438,17 @@ void RTFDocumentImpl::replayBuffer(RTFBuffer_t& rBuffer,
     {
         Buf_t aTuple(rBuffer.front());
         rBuffer.pop_front();
-        if (boost::get<0>(aTuple) == BUFFER_PROPS)
+        if (std::get<0>(aTuple) == BUFFER_PROPS)
         {
             // Construct properties via getProperties() and not directly, to take care of deduplication.
             writerfilter::Reference<Properties>::Pointer_t const pProp(
-                getProperties(boost::get<1>(aTuple)->getAttributes(), boost::get<1>(aTuple)->getSprms())
+                getProperties(std::get<1>(aTuple)->getAttributes(), std::get<1>(aTuple)->getSprms())
             );
             Mapper().props(pProp);
         }
-        else if (boost::get<0>(aTuple) == BUFFER_NESTROW)
+        else if (std::get<0>(aTuple) == BUFFER_NESTROW)
         {
-            TableRowBuffer& rRowBuffer(*boost::get<2>(aTuple));
+            TableRowBuffer& rRowBuffer(*std::get<2>(aTuple));
 
             replayRowBuffer(rRowBuffer.buffer, rRowBuffer.cellsSprms,
                             rRowBuffer.cellsAttributes, rRowBuffer.nCells);
@@ -1456,7 +1456,7 @@ void RTFDocumentImpl::replayBuffer(RTFBuffer_t& rBuffer,
             sendProperties(rRowBuffer.pParaProperties,
                            rRowBuffer.pFrameProperties, rRowBuffer.pRowProperties);
         }
-        else if (boost::get<0>(aTuple) == BUFFER_CELLEND)
+        else if (std::get<0>(aTuple) == BUFFER_CELLEND)
         {
             assert(pSprms && pAttributes);
             auto pValue = std::make_shared<RTFValue>(1);
@@ -1467,29 +1467,29 @@ void RTFDocumentImpl::replayBuffer(RTFBuffer_t& rBuffer,
             tableBreak();
             break;
         }
-        else if (boost::get<0>(aTuple) == BUFFER_STARTRUN)
+        else if (std::get<0>(aTuple) == BUFFER_STARTRUN)
             Mapper().startCharacterGroup();
-        else if (boost::get<0>(aTuple) == BUFFER_TEXT)
+        else if (std::get<0>(aTuple) == BUFFER_TEXT)
         {
-            sal_uInt8 const nValue = boost::get<1>(aTuple)->getInt();
+            sal_uInt8 const nValue = std::get<1>(aTuple)->getInt();
             Mapper().text(&nValue, 1);
         }
-        else if (boost::get<0>(aTuple) == BUFFER_UTEXT)
+        else if (std::get<0>(aTuple) == BUFFER_UTEXT)
         {
-            OUString const aString(boost::get<1>(aTuple)->getString());
+            OUString const aString(std::get<1>(aTuple)->getString());
             Mapper().utext(reinterpret_cast<sal_uInt8 const*>(aString.getStr()), aString.getLength());
         }
-        else if (boost::get<0>(aTuple) == BUFFER_ENDRUN)
+        else if (std::get<0>(aTuple) == BUFFER_ENDRUN)
             Mapper().endCharacterGroup();
-        else if (boost::get<0>(aTuple) == BUFFER_PAR)
+        else if (std::get<0>(aTuple) == BUFFER_PAR)
             parBreak();
-        else if (boost::get<0>(aTuple) == BUFFER_STARTSHAPE)
-            m_pSdrImport->resolve(boost::get<1>(aTuple)->getShape(), false, RTFSdrImport::SHAPE);
-        else if (boost::get<0>(aTuple) == BUFFER_ENDSHAPE)
+        else if (std::get<0>(aTuple) == BUFFER_STARTSHAPE)
+            m_pSdrImport->resolve(std::get<1>(aTuple)->getShape(), false, RTFSdrImport::SHAPE);
+        else if (std::get<0>(aTuple) == BUFFER_ENDSHAPE)
             m_pSdrImport->close();
-        else if (boost::get<0>(aTuple) == BUFFER_RESOLVESUBSTREAM)
+        else if (std::get<0>(aTuple) == BUFFER_RESOLVESUBSTREAM)
         {
-            RTFSprms& rAttributes = boost::get<1>(aTuple)->getAttributes();
+            RTFSprms& rAttributes = std::get<1>(aTuple)->getAttributes();
             sal_Size nPos = rAttributes.find(0)->getInt();
             Id nId = rAttributes.find(1)->getInt();
             OUString aCustomMark = rAttributes.find(2)->getString();
@@ -1708,9 +1708,9 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
                 {
                     Buf_t aTuple = m_aSuperBuffer.front();
                     m_aSuperBuffer.pop_front();
-                    if (boost::get<0>(aTuple) == BUFFER_UTEXT)
+                    if (std::get<0>(aTuple) == BUFFER_UTEXT)
                     {
-                        aCustomMark = boost::get<1>(aTuple)->getString();
+                        aCustomMark = std::get<1>(aTuple)->getString();
                         bCustomMark = true;
                     }
                 }
@@ -1725,7 +1725,7 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
                     aAttributes.set(Id(0), std::make_shared<RTFValue>(m_nGroupStartPos - 1));
                     aAttributes.set(Id(1), std::make_shared<RTFValue>(nId));
                     aAttributes.set(Id(2), std::make_shared<RTFValue>(aCustomMark));
-                    m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_RESOLVESUBSTREAM, std::make_shared<RTFValue>(aAttributes)));
+                    m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_RESOLVESUBSTREAM, std::make_shared<RTFValue>(aAttributes), nullptr));
                 }
                 if (bCustomMark)
                 {
@@ -1811,7 +1811,7 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
                     else
                     {
                         auto pValue = std::make_shared<RTFValue>(m_aStates.top().aShape);
-                        m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_STARTSHAPE, pValue));
+                        m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_STARTSHAPE, pValue, nullptr));
                     }
                 }
             }
@@ -2157,7 +2157,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
         {
             RTFValue::Pointer_t pValue;
             m_aStates.top().pCurrentBuffer->push_back(
-                Buf_t(BUFFER_PAR, pValue));
+                Buf_t(BUFFER_PAR, pValue, nullptr));
         }
         // but don't emit properties yet, since they may change till the first text token arrives
         m_bNeedPap = true;
@@ -2213,13 +2213,13 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
         {
             // There were no runs in the cell, so we need to send paragraph and character properties here.
             auto pPValue = std::make_shared<RTFValue>(m_aStates.top().aParagraphAttributes, m_aStates.top().aParagraphSprms);
-            m_aTableBufferStack.back().push_back(Buf_t(BUFFER_PROPS, pPValue));
+            m_aTableBufferStack.back().push_back(Buf_t(BUFFER_PROPS, pPValue, nullptr));
             auto pCValue = std::make_shared<RTFValue>(m_aStates.top().aCharacterAttributes, m_aStates.top().aCharacterSprms);
-            m_aTableBufferStack.back().push_back(Buf_t(BUFFER_PROPS, pCValue));
+            m_aTableBufferStack.back().push_back(Buf_t(BUFFER_PROPS, pCValue, nullptr));
         }
 
         RTFValue::Pointer_t pValue;
-        m_aTableBufferStack.back().push_back(Buf_t(BUFFER_CELLEND, pValue));
+        m_aTableBufferStack.back().push_back(Buf_t(BUFFER_CELLEND, pValue, nullptr));
         m_bNeedPap = true;
     }
     break;
@@ -5142,7 +5142,7 @@ RTFError RTFDocumentImpl::popState()
         else
         {
             auto pFFValue = std::make_shared<RTFValue>(aFFAttributes, aFFSprms);
-            m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, pFFValue));
+            m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, pFFValue, nullptr));
         }
         m_aFormfieldAttributes.clear();
         m_aFormfieldSprms.clear();
@@ -5827,7 +5827,7 @@ RTFError RTFDocumentImpl::popState()
         if (!m_aStates.top().pCurrentBuffer)
             Mapper().props(std::make_shared<RTFReferenceProperties>(RTFSprms(), aTCSprms));
         else
-            m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, std::make_shared<RTFValue>(RTFSprms(), aTCSprms)));
+            m_aStates.top().pCurrentBuffer->push_back(Buf_t(BUFFER_PROPS, std::make_shared<RTFValue>(RTFSprms(), aTCSprms), nullptr));
     }
 
     // This is the end of the doc, see if we need to close the last section.
@@ -6068,7 +6068,7 @@ RTFError RTFDocumentImpl::popState()
                     m_pSdrImport->close();
                 else
                     m_aStates.top().pCurrentBuffer->push_back(
-                        Buf_t(BUFFER_ENDSHAPE));
+                        Buf_t(BUFFER_ENDSHAPE, nullptr, nullptr));
             }
 
             // It's allowed to declare these inside the shape text, and they
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index cc658d0..3aa75de 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -12,9 +12,9 @@
 
 #include <stack>
 #include <queue>
+#include <tuple>
 #include <vector>
 #include <boost/optional.hpp>
-#include <boost/tuple/tuple.hpp>
 
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
@@ -86,8 +86,8 @@ enum class RTFFieldStatus
 struct TableRowBuffer;
 
 /// A buffer storing dmapper calls.
-typedef ::boost::tuple<RTFBufferTypes, RTFValue::Pointer_t,
-        ::std::shared_ptr<TableRowBuffer> > Buf_t;
+typedef std::tuple<RTFBufferTypes, RTFValue::Pointer_t,
+        std::shared_ptr<TableRowBuffer> > Buf_t;
 typedef std::deque< Buf_t > RTFBuffer_t;
 
 /// holds one nested table row
diff --git a/xmloff/inc/pch/precompiled_xo.hxx b/xmloff/inc/pch/precompiled_xo.hxx
index e8bebb5..b1ac1e3 100644
--- a/xmloff/inc/pch/precompiled_xo.hxx
+++ b/xmloff/inc/pch/precompiled_xo.hxx
@@ -36,6 +36,7 @@
 #include <ostream>
 #include <set>
 #include <sstream>
+#include <tuple>
 #include <stddef.h>
 #include <string.h>
 #include <string>
@@ -44,7 +45,6 @@
 #include <vector>
 #include <boost/iterator_adaptors.hpp>
 #include <boost/noncopyable.hpp>
-#include <boost/tuple/tuple.hpp>
 #include <osl/diagnose.h>
 #include <osl/doublecheckedlocking.h>
 #include <osl/endian.h>
diff --git a/xmloff/inc/txtlists.hxx b/xmloff/inc/txtlists.hxx
index 46beb4b..fc8f12d 100644
--- a/xmloff/inc/txtlists.hxx
+++ b/xmloff/inc/txtlists.hxx
@@ -22,10 +22,10 @@
 
 #include <rtl/ustring.hxx>
 #include <map>
-#include <vector>
 #include <stack>
+#include <tuple>
+#include <vector>
 #include <boost/noncopyable.hpp>
-#include <boost/tuple/tuple.hpp>
 #include <com/sun/star/container/XIndexReplace.hpp>
 #include <xmloff/xmlictxt.hxx>
 
@@ -126,9 +126,9 @@ class XMLTextListsHelper : private boost::noncopyable
             XMLTextListBlockContext, XMLTextListItemContext,
             XMLNumberedParaContext
          */
-        typedef ::boost::tuple<SvXMLImportContextRef,
+        typedef std::tuple<SvXMLImportContextRef,
             SvXMLImportContextRef, SvXMLImportContextRef> ListStackFrame_t;
-        ::std::stack< ListStackFrame_t > mListStack;
+        std::stack< ListStackFrame_t > mListStack;
 
         // container type for processed lists:
         // map with <ListId> as key and pair( <ListStyleName, ContinueListId> )
diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx
index eb087aa..542147d 100644
--- a/xmloff/source/text/txtimp.cxx
+++ b/xmloff/source/text/txtimp.cxx
@@ -17,10 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-
-#include <vector>
-
 #include <memory>
+#include <tuple>
+#include <vector>
 
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -524,18 +523,18 @@ struct XMLTextImportHelper::Impl
        - data structure contains more than one candidate for each list level
          of the outline style (#i69629#)
     */
-    ::std::unique_ptr< ::std::vector< OUString > []>
+    std::unique_ptr< std::vector< OUString > []>
         m_xOutlineStylesCandidates;
 
     // start range, xml:id, RDFa stuff
-    typedef ::boost::tuple<
+    typedef std::tuple<
         uno::Reference<text::XTextRange>, OUString,
         std::shared_ptr< ::xmloff::ParsedRDFaAttributes > >
             BookmarkMapEntry_t;
     /// start ranges for open bookmarks
-    ::std::map< OUString, BookmarkMapEntry_t > m_BookmarkStartRanges;
+    std::map< OUString, BookmarkMapEntry_t > m_BookmarkStartRanges;
 
-    typedef ::std::vector< OUString > BookmarkVector_t;
+    typedef std::vector< OUString > BookmarkVector_t;
     BookmarkVector_t m_BookmarkVector;
 
     /// name of the last 'open' redline that started between paragraphs
@@ -2492,7 +2491,7 @@ void XMLTextImportHelper::InsertBookmarkStartRange(
     std::shared_ptr< ::xmloff::ParsedRDFaAttributes > & i_rpRDFaAttributes)
 {
     m_xImpl->m_BookmarkStartRanges[sName] =
-        ::boost::make_tuple(rRange, i_rXmlId, i_rpRDFaAttributes);
+        std::make_tuple(rRange, i_rXmlId, i_rpRDFaAttributes);
     m_xImpl->m_BookmarkVector.push_back(sName);
 }
 
@@ -2506,9 +2505,9 @@ bool XMLTextImportHelper::FindAndRemoveBookmarkStartRange(
     {
         Impl::BookmarkMapEntry_t & rEntry =
             (*m_xImpl->m_BookmarkStartRanges.find(sName)).second;
-        o_rRange.set(rEntry.get<0>());
-        o_rXmlId = rEntry.get<1>();
-        o_rpRDFaAttributes = rEntry.get<2>();
+        o_rRange.set(std::get<0>(rEntry));
+        o_rXmlId = std::get<1>(rEntry);
+        o_rpRDFaAttributes = std::get<2>(rEntry);
         m_xImpl->m_BookmarkStartRanges.erase(sName);
         Impl::BookmarkVector_t::iterator it(m_xImpl->m_BookmarkVector.begin());
         while (it != m_xImpl->m_BookmarkVector.end() && it->compareTo(sName)!=0)
diff --git a/xmloff/source/text/txtlists.cxx b/xmloff/source/text/txtlists.cxx
index f3f6c4e..2ec8dff 100644
--- a/xmloff/source/text/txtlists.cxx
+++ b/xmloff/source/text/txtlists.cxx
@@ -76,7 +76,7 @@ XMLTextListsHelper::~XMLTextListsHelper()
 void XMLTextListsHelper::PushListContext(
     XMLTextListBlockContext *i_pListBlock)
 {
-    mListStack.push(::boost::make_tuple(i_pListBlock,
+    mListStack.push(std::make_tuple(i_pListBlock,
         static_cast<XMLTextListItemContext*>(nullptr),
         static_cast<XMLNumberedParaContext*>(nullptr)));
 }
@@ -84,7 +84,7 @@ void XMLTextListsHelper::PushListContext(
 void XMLTextListsHelper::PushListContext(
     XMLNumberedParaContext *i_pNumberedParagraph)
 {
-    mListStack.push(::boost::make_tuple(
+    mListStack.push(std::make_tuple(
         static_cast<XMLTextListBlockContext*>(nullptr),
         static_cast<XMLTextListItemContext*>(nullptr), i_pNumberedParagraph));
 }
@@ -103,11 +103,11 @@ void XMLTextListsHelper::ListContextTop(
 {
     if ( !mListStack.empty() ) {
         o_pListBlockContext =
-            static_cast<XMLTextListBlockContext*>(&mListStack.top().get<0>());
+            static_cast<XMLTextListBlockContext*>(&std::get<0>(mListStack.top()));
         o_pListItemContext  =
-            static_cast<XMLTextListItemContext *>(&mListStack.top().get<1>());
+            static_cast<XMLTextListItemContext *>(&std::get<1>(mListStack.top()));
         o_pNumberedParagraphContext =
-            static_cast<XMLNumberedParaContext *>(&mListStack.top().get<2>());
+            static_cast<XMLNumberedParaContext *>(&std::get<2>(mListStack.top()));
     }
 }
 
@@ -116,13 +116,13 @@ void XMLTextListsHelper::SetListItem( XMLTextListItemContext *i_pListItem )
     // may be cleared by ListBlockContext for upper list...
     if (i_pListItem) {
         assert(mListStack.size());
-        assert(mListStack.top().get<0>() &&
+        assert(std::get<0>(mListStack.top()) &&
             "internal error: SetListItem: mListStack has no ListBlock");
-        assert(!mListStack.top().get<1>() &&
+        assert(!std::get<1>(mListStack.top()) &&
             "error: SetListItem: list item already exists");
     }
     if ( !mListStack.empty() ) {
-        mListStack.top().get<1>() = i_pListItem;
+        std::get<1>(mListStack.top()) = i_pListItem;
     }
 }
 


More information about the Libreoffice-commits mailing list