[Libreoffice-commits] core.git: 9 commits - avmedia/source basctl/source chart2/source compilerplugins/clang dbaccess/source drawinglayer/source editeng/source extensions/source filter/source forms/source include/vcl package/source sc/inc sc/qa sc/source sdext/source sd/source sfx2/inc sfx2/source slideshow/source starmath/inc svtools/source svx/inc svx/source sw/inc sw/source vcl/unx writerperfect/source

Stephan Bergmann sbergman at redhat.com
Mon Jan 11 04:17:35 PST 2016


 avmedia/source/vlc/wrapper/EventHandler.hxx                                     |    2 
 avmedia/source/vlc/wrapper/EventManager.hxx                                     |    2 
 avmedia/source/vlc/wrapper/ThreadsafeQueue.hxx                                  |    4 
 basctl/source/inc/doceventnotifier.hxx                                          |    2 
 chart2/source/controller/main/ElementSelector.hxx                               |    2 
 chart2/source/view/inc/VDataSeries.hxx                                          |    2 
 compilerplugins/clang/privatebase.cxx                                           |   54 ++++++++++
 dbaccess/source/ui/inc/sqledit.hxx                                              |    2 
 drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx                      |    6 -
 editeng/source/editeng/editdoc.cxx                                              |   10 -
 editeng/source/editeng/editdoc.hxx                                              |    2 
 editeng/source/editeng/editobj.cxx                                              |    4 
 editeng/source/editeng/editobj2.hxx                                             |    4 
 editeng/source/editeng/impedit.hxx                                              |    2 
 extensions/source/scanner/sane.hxx                                              |    2 
 extensions/source/update/check/updatehdl.hxx                                    |    2 
 filter/source/config/cache/typedetection.cxx                                    |    2 
 filter/source/svg/test/odfserializer.cxx                                        |    2 
 forms/source/xforms/datatypes.hxx                                               |    2 
 include/vcl/debugevent.hxx                                                      |    2 
 package/source/xstor/owriteablestream.hxx                                       |    2 
 sc/inc/chart2uno.hxx                                                            |    8 -
 sc/inc/clipcontext.hxx                                                          |    2 
 sc/inc/columniterator.hxx                                                       |    2 
 sc/inc/columnspanset.hxx                                                        |    2 
 sc/inc/documentimport.hxx                                                       |    2 
 sc/inc/documentlinkmgr.hxx                                                      |    2 
 sc/inc/dpcache.hxx                                                              |    2 
 sc/inc/dpresfilter.hxx                                                          |    2 
 sc/inc/dptabsrc.hxx                                                             |    4 
 sc/inc/externalrefmgr.hxx                                                       |    2 
 sc/inc/listenercontext.hxx                                                      |    6 -
 sc/inc/scmod.hxx                                                                |    2 
 sc/inc/table.hxx                                                                |    2 
 sc/inc/textuno.hxx                                                              |    2 
 sc/inc/typedstrdata.hxx                                                         |    2 
 sc/qa/extras/scannotationobj.cxx                                                |    2 
 sc/qa/extras/scannotationshapeobj.cxx                                           |    2 
 sc/qa/extras/scannotationsobj.cxx                                               |    2 
 sc/qa/extras/sccellrangeobj.cxx                                                 |    4 
 sc/qa/extras/scdatabaserangeobj.cxx                                             |    2 
 sc/qa/extras/scdatapilotfieldobj.cxx                                            |    4 
 sc/qa/extras/scdatapilottableobj.cxx                                            |    4 
 sc/qa/extras/sceditfieldobj-cell.cxx                                            |    2 
 sc/qa/extras/sceditfieldobj-header.cxx                                          |    2 
 sc/qa/extras/scmodelobj.cxx                                                     |    2 
 sc/qa/extras/scnamedrangeobj.cxx                                                |    2 
 sc/qa/extras/scnamedrangesobj.cxx                                               |    2 
 sc/qa/extras/scoutlineobj.cxx                                                   |    2 
 sc/qa/extras/scstyleloaderobj.cxx                                               |    2 
 sc/qa/extras/sctablesheetobj.cxx                                                |    2 
 sc/qa/extras/sctablesheetsobj.cxx                                               |    2 
 sc/qa/unit/subsequent_export-test.cxx                                           |    2 
 sc/qa/unit/subsequent_filters-test.cxx                                          |    2 
 sc/source/core/data/column.cxx                                                  |    4 
 sc/source/core/data/column3.cxx                                                 |    2 
 sc/source/core/data/documen7.cxx                                                |    2 
 sc/source/core/data/document.cxx                                                |    2 
 sc/source/core/data/document10.cxx                                              |    2 
 sc/source/core/data/dpcache.cxx                                                 |    6 -
 sc/source/core/data/dpdimsave.cxx                                               |    2 
 sc/source/core/data/dpgroup.cxx                                                 |    2 
 sc/source/core/data/dpobject.cxx                                                |   12 +-
 sc/source/core/data/dpsave.cxx                                                  |    2 
 sc/source/core/data/dptabsrc.cxx                                                |    2 
 sc/source/core/data/formulacell.cxx                                             |    4 
 sc/source/core/data/table3.cxx                                                  |   10 -
 sc/source/core/inc/bcaslot.hxx                                                  |    2 
 sc/source/core/opencl/opbase.hxx                                                |    2 
 sc/source/core/tool/compiler.cxx                                                |    2 
 sc/source/core/tool/grouparealistener.cxx                                       |    2 
 sc/source/core/tool/interpr4.cxx                                                |    2 
 sc/source/core/tool/interpr5.cxx                                                |    2 
 sc/source/core/tool/scmatrix.cxx                                                |   16 +-
 sc/source/filter/inc/ftools.hxx                                                 |    2 
 sc/source/filter/inc/xehelper.hxx                                               |    4 
 sc/source/filter/inc/xihelper.hxx                                               |    6 -
 sc/source/filter/inc/xltools.hxx                                                |    2 
 sc/source/filter/oox/formulabuffer.cxx                                          |    2 
 sc/source/filter/oox/workbookfragment.cxx                                       |    2 
 sc/source/filter/oox/workbookhelper.cxx                                         |    2 
 sc/source/filter/orcus/interface.cxx                                            |    2 
 sc/source/filter/orcus/xmlcontext.cxx                                           |    4 
 sc/source/filter/xml/XMLExportIterator.hxx                                      |   16 +-
 sc/source/filter/xml/xmlimprt.hxx                                               |    2 
 sc/source/ui/docshell/externalrefmgr.cxx                                        |    2 
 sc/source/ui/inc/datastream.hxx                                                 |    2 
 sc/source/ui/inc/inputhdl.hxx                                                   |    2 
 sc/source/ui/inc/tabview.hxx                                                    |    2 
 sc/source/ui/undo/undoblk.cxx                                                   |    2 
 sc/source/ui/unoobj/chart2uno.cxx                                               |    4 
 sc/source/ui/view/drawvie4.cxx                                                  |    4 
 sc/source/ui/xmlsource/xmlsourcedlg.cxx                                         |    2 
 sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx |    2 
 sd/source/ui/remotecontrol/ImagePreparer.hxx                                    |    2 
 sd/source/ui/remotecontrol/Receiver.hxx                                         |    2 
 sd/source/ui/view/DocumentRenderer.cxx                                          |    2 
 sdext/source/presenter/PresenterCanvasHelper.hxx                                |    2 
 sdext/source/presenter/PresenterSlideSorter.cxx                                 |    2 
 sdext/source/presenter/PresenterUIPainter.hxx                                   |    2 
 sfx2/inc/bitset.hxx                                                             |    2 
 sfx2/source/doc/docfile.cxx                                                     |    2 
 slideshow/source/inc/screenupdater.hxx                                          |    2 
 starmath/inc/smmod.hxx                                                          |    2 
 svtools/source/contnr/treelist.cxx                                              |    2 
 svtools/source/contnr/treelistentry.cxx                                         |    4 
 svtools/source/control/ctrlbox.cxx                                              |    2 
 svtools/source/inc/unoiface.hxx                                                 |    2 
 svx/inc/AccessibleTableShape.hxx                                                |    4 
 svx/source/gallery2/galbrws1.hxx                                                |    2 
 svx/source/inc/GraphCtlAccessibleContext.hxx                                    |    4 
 svx/source/table/accessiblecell.hxx                                             |    2 
 sw/inc/calbck.hxx                                                               |    2 
 sw/source/core/access/acccell.hxx                                               |    4 
 sw/source/core/doc/tblafmt.cxx                                                  |    2 
 sw/source/filter/ww8/ww8par.cxx                                                 |    2 
 vcl/unx/generic/app/i18n_im.cxx                                                 |    2 
 writerperfect/source/common/WPXSvInputStream.cxx                                |    2 
 118 files changed, 226 insertions(+), 172 deletions(-)

New commits:
commit 67ec72a381d939a56fdd5e472a413bab92f4ad80
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:14:38 2016 +0100

    New loplugin:privatebase
    
    ...to flag places that implicitly derive a class privately instead of publicly,
    where accidental private derivation can cause unexpected failure of
    dynamic_cast, cf. 63b67ab5cab8cf7576a68cabe5fb1a42c6ad800c "Use public
    derivation, and remove then-unnecessary downcasts."
    
    Change-Id: I4bcd5c79c7e27380c820e2dd072fa4c4e8980078

diff --git a/compilerplugins/clang/privatebase.cxx b/compilerplugins/clang/privatebase.cxx
new file mode 100644
index 0000000..8084ee3
--- /dev/null
+++ b/compilerplugins/clang/privatebase.cxx
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "plugin.hxx"
+
+namespace {
+
+class PrivateBase:
+    public RecursiveASTVisitor<PrivateBase>, public loplugin::Plugin
+{
+public:
+    explicit PrivateBase(InstantiationData const & data): Plugin(data) {}
+
+    void run() override;
+
+    bool VisitCXXRecordDecl(CXXRecordDecl const * decl);
+};
+
+void PrivateBase::run() {
+    if (compiler.getLangOpts().CPlusPlus) {
+        TraverseDecl(compiler.getASTContext().getTranslationUnitDecl());
+    }
+}
+
+bool PrivateBase::VisitCXXRecordDecl(CXXRecordDecl const * decl) {
+    if (ignoreLocation(decl) || !decl->isThisDeclarationADefinition()
+        || decl->getTagKind() != TTK_Class)
+    {
+        return true;
+    }
+    for (auto const & i: decl->bases()) {
+        if (i.getAccessSpecifierAsWritten() == AS_none) {
+            report(
+                DiagnosticsEngine::Warning,
+                "base class is private by default; explicitly give an access"
+                    " specifier",
+                i.getLocStart())
+                << i.getSourceRange();
+        }
+    }
+    return true;
+}
+
+loplugin::Plugin::Registration<PrivateBase> X("privatebase");
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 608dee4f5fbf10ba4c0f8c971f4f93b23be006fa
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:11:27 2016 +0100

    loplugin:privatebase: Make various derivations public
    
    ...assuming they were implicitly made private by accident rather than by design.
    (And private derivation can cause unexpected failure of dynamic_cast, cf.
    63b67ab5cab8cf7576a68cabe5fb1a42c6ad800c "Use public derivation, and remove
    then-unnecessary downcasts.")
    
    Change-Id: Id821afba34fd2f155e30fac903567707e46d1fde

diff --git a/chart2/source/controller/main/ElementSelector.hxx b/chart2/source/controller/main/ElementSelector.hxx
index e49e9ee..f109634 100644
--- a/chart2/source/controller/main/ElementSelector.hxx
+++ b/chart2/source/controller/main/ElementSelector.hxx
@@ -67,7 +67,7 @@ class SelectorListBox : public ListBox
 typedef ::cppu::ImplHelper1 < ::com::sun::star::lang::XServiceInfo> ElementSelectorToolbarController_BASE;
 
 class ElementSelectorToolbarController : public ::svt::ToolboxController
-                                                , ElementSelectorToolbarController_BASE
+                                                , public ElementSelectorToolbarController_BASE
 {
 public:
     explicit ElementSelectorToolbarController();
diff --git a/dbaccess/source/ui/inc/sqledit.hxx b/dbaccess/source/ui/inc/sqledit.hxx
index 624982d..b408159 100644
--- a/dbaccess/source/ui/inc/sqledit.hxx
+++ b/dbaccess/source/ui/inc/sqledit.hxx
@@ -33,7 +33,7 @@ namespace com { namespace sun { namespace star { namespace beans {
 namespace dbaui
 {
     class OQueryTextView;
-    class OSqlEdit : public MultiLineEditSyntaxHighlight, utl::ConfigurationListener
+    class OSqlEdit : public MultiLineEditSyntaxHighlight, public utl::ConfigurationListener
     {
     private:
         class ChangesListener;
diff --git a/forms/source/xforms/datatypes.hxx b/forms/source/xforms/datatypes.hxx
index ae5e320..1f5e593 100644
--- a/forms/source/xforms/datatypes.hxx
+++ b/forms/source/xforms/datatypes.hxx
@@ -224,7 +224,7 @@ namespace xforms
     */
     template< typename CONCRETE_DATA_TYPE_IMPL, typename SUPERCLASS = OXSDDataType >
     class ODerivedDataType  :public SUPERCLASS
-                            ,::comphelper::OPropertyArrayUsageHelper< CONCRETE_DATA_TYPE_IMPL >
+                            ,public ::comphelper::OPropertyArrayUsageHelper< CONCRETE_DATA_TYPE_IMPL >
     {
     private:
         bool    m_bPropertiesRegistered;
diff --git a/sc/inc/chart2uno.hxx b/sc/inc/chart2uno.hxx
index 9742908..44df1e7 100644
--- a/sc/inc/chart2uno.hxx
+++ b/sc/inc/chart2uno.hxx
@@ -62,7 +62,7 @@ class ScChart2DataProvider : public
                     css::chart2::data::XRangeXMLConversion,
                     css::beans::XPropertySet,
                     css::lang::XServiceInfo>,
-                SfxListener
+                public SfxListener
 {
 public:
 
@@ -188,7 +188,7 @@ class ScChart2DataSource : public
                 ::cppu::WeakImplHelper<
                     css::chart2::data::XDataSource,
                     css::lang::XServiceInfo>,
-                SfxListener
+                public SfxListener
 {
 public:
 
@@ -235,7 +235,7 @@ class ScChart2DataSequence : public
                     css::util::XModifyBroadcaster,
                     css::beans::XPropertySet,
                     css::lang::XServiceInfo>,
-                SfxListener,
+                public SfxListener,
                 private boost::noncopyable
 {
 public:
diff --git a/sc/inc/externalrefmgr.hxx b/sc/inc/externalrefmgr.hxx
index cb8a1b2..a80a56a 100644
--- a/sc/inc/externalrefmgr.hxx
+++ b/sc/inc/externalrefmgr.hxx
@@ -358,7 +358,7 @@ private:
     mutable DocDataType maDocs;
 };
 
-class SC_DLLPUBLIC ScExternalRefManager : public formula::ExternalReferenceHelper, SfxListener
+class SC_DLLPUBLIC ScExternalRefManager : public formula::ExternalReferenceHelper, public SfxListener
 {
 public:
 
diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx
index ec93563..285a3fe 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -79,7 +79,7 @@ struct ScClipData;
 #define SC_DROP_NAVIGATOR       1
 #define SC_DROP_TABLE           2
 
-class ScModule: public SfxModule, public SfxListener, utl::ConfigurationListener
+class ScModule: public SfxModule, public SfxListener, public utl::ConfigurationListener
 {
     Timer               aIdleTimer;
     Idle                aSpellIdle;
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index 8aa8ca9..761a34a 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -74,7 +74,7 @@
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
 
-class ScExportTest : public ScBootstrapFixture, XmlTestTools
+class ScExportTest : public ScBootstrapFixture, public XmlTestTools
 {
 protected:
     virtual void registerNamespaces(xmlXPathContextPtr& pXmlXPathCtx) override;
diff --git a/sc/source/filter/xml/XMLExportIterator.hxx b/sc/source/filter/xml/XMLExportIterator.hxx
index 379760f..203f2f4 100644
--- a/sc/source/filter/xml/XMLExportIterator.hxx
+++ b/sc/source/filter/xml/XMLExportIterator.hxx
@@ -72,7 +72,7 @@ struct ScMyShape
 
 typedef std::list<ScMyShape>    ScMyShapeList;
 
-class ScMyShapesContainer : ScMyIteratorBase
+class ScMyShapesContainer : public ScMyIteratorBase
 {
 private:
     ScMyShapeList               aShapeList;
@@ -101,7 +101,7 @@ struct ScMyNoteShape
 
 typedef std::list<ScMyNoteShape>    ScMyNoteShapeList;
 
-class ScMyNoteShapesContainer : ScMyIteratorBase
+class ScMyNoteShapesContainer : public ScMyIteratorBase
 {
 private:
     ScMyNoteShapeList           aNoteShapeList;
@@ -129,7 +129,7 @@ struct ScMyMergedRange
 
 typedef std::list<ScMyMergedRange>  ScMyMergedRangeList;
 
-class ScMyMergedRangesContainer : ScMyIteratorBase
+class ScMyMergedRangesContainer : public ScMyIteratorBase
 {
 private:
     ScMyMergedRangeList         aRangeList;
@@ -166,7 +166,7 @@ struct ScMyAreaLink
 
 typedef ::std::list< ScMyAreaLink > ScMyAreaLinkList;
 
-class ScMyAreaLinksContainer : ScMyIteratorBase
+class ScMyAreaLinksContainer : public ScMyIteratorBase
 {
 private:
     ScMyAreaLinkList            aAreaLinkList;
@@ -193,7 +193,7 @@ struct ScMyCellRangeAddress : css::table::CellRangeAddress
 
 typedef std::list<ScMyCellRangeAddress> ScMyEmptyDatabaseRangeList;
 
-class ScMyEmptyDatabaseRangesContainer : ScMyIteratorBase
+class ScMyEmptyDatabaseRangesContainer : public ScMyIteratorBase
 {
 private:
     ScMyEmptyDatabaseRangeList  aDatabaseList;
@@ -222,7 +222,7 @@ struct ScMyDetectiveObj
 typedef ::std::list< ScMyDetectiveObj > ScMyDetectiveObjList;
 typedef ::std::vector< ScMyDetectiveObj > ScMyDetectiveObjVec;
 
-class ScMyDetectiveObjContainer : ScMyIteratorBase
+class ScMyDetectiveObjContainer : public ScMyIteratorBase
 {
 private:
     ScMyDetectiveObjList        aDetectiveObjList;
@@ -256,7 +256,7 @@ struct ScMyDetectiveOp
 typedef ::std::list< ScMyDetectiveOp > ScMyDetectiveOpList;
 typedef ::std::vector< ScMyDetectiveOp > ScMyDetectiveOpVec;
 
-class ScMyDetectiveOpContainer : ScMyIteratorBase
+class ScMyDetectiveOpContainer : public ScMyIteratorBase
 {
 private:
     ScMyDetectiveOpList         aDetectiveOpList;
diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
index 2df074e..679e407 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -330,7 +330,7 @@ namespace {
     /** Read the resource file and process it into a sequence of properties
         that can be passed to the printing dialog.
     */
-    class DialogCreator : Resource
+    class DialogCreator : public Resource
     {
     public:
         DialogCreator (bool bImpress, sal_Int32 nCurPage)
diff --git a/starmath/inc/smmod.hxx b/starmath/inc/smmod.hxx
index 4a53375..57158a4 100644
--- a/starmath/inc/smmod.hxx
+++ b/starmath/inc/smmod.hxx
@@ -85,7 +85,7 @@ public:
     static const OUString GetExportSymbolSetName( const OUString &rUiName );
 };
 
-class SmModule : public SfxModule, utl::ConfigurationListener
+class SmModule : public SfxModule, public utl::ConfigurationListener
 {
     std::unique_ptr<svtools::ColorConfig> mpColorConfig;
     std::unique_ptr<SmMathConfig> mpConfig;
diff --git a/svx/source/gallery2/galbrws1.hxx b/svx/source/gallery2/galbrws1.hxx
index f5f77f3..3ebce43f4 100644
--- a/svx/source/gallery2/galbrws1.hxx
+++ b/svx/source/gallery2/galbrws1.hxx
@@ -70,7 +70,7 @@ class SfxItemSet;
 
 namespace svx { namespace sidebar { class GalleryControl; } }
 
-class GalleryBrowser1 : public Control, SfxListener
+class GalleryBrowser1 : public Control, public SfxListener
 {
     friend class GalleryBrowser;
     friend class svx::sidebar::GalleryControl;
diff --git a/svx/source/inc/GraphCtlAccessibleContext.hxx b/svx/source/inc/GraphCtlAccessibleContext.hxx
index 406ff19..bb9027b 100644
--- a/svx/source/inc/GraphCtlAccessibleContext.hxx
+++ b/svx/source/inc/GraphCtlAccessibleContext.hxx
@@ -79,7 +79,7 @@ typedef ::cppu::WeakAggComponentImplHelper7<
 
 class SvxGraphCtrlAccessibleContext:
     private comphelper::OBaseMutex, public SvxGraphCtrlAccessibleContext_Base,
-    SfxListener, accessibility::IAccessibleViewForwarder
+    public SfxListener, public accessibility::IAccessibleViewForwarder
 {
 public:
     friend class GraphCtrl;
diff --git a/vcl/unx/generic/app/i18n_im.cxx b/vcl/unx/generic/app/i18n_im.cxx
index 962e5ae..61e3bf5 100644
--- a/vcl/unx/generic/app/i18n_im.cxx
+++ b/vcl/unx/generic/app/i18n_im.cxx
@@ -48,7 +48,7 @@ using namespace vcl;
 // kinput2 IME needs special key handling since key release events are filtered in
 // preeditmode and XmbResetIC does not work
 
-class XKeyEventOp : XKeyEvent
+class XKeyEventOp : public XKeyEvent
 {
     private:
         void            init();
commit 549810971af09e18daca9fdaee8b095e71cd389b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:10:19 2016 +0100

    loplugin:privatebase: Make derivation from OBaseMutex explicitly private
    
    Change-Id: If63a6b2f145f2fa956206e7e591243cf6b981c61

diff --git a/svx/source/inc/GraphCtlAccessibleContext.hxx b/svx/source/inc/GraphCtlAccessibleContext.hxx
index f711998..406ff19 100644
--- a/svx/source/inc/GraphCtlAccessibleContext.hxx
+++ b/svx/source/inc/GraphCtlAccessibleContext.hxx
@@ -78,7 +78,7 @@ typedef ::cppu::WeakAggComponentImplHelper7<
                 SvxGraphCtrlAccessibleContext_Base;
 
 class SvxGraphCtrlAccessibleContext:
-    comphelper::OBaseMutex, public SvxGraphCtrlAccessibleContext_Base,
+    private comphelper::OBaseMutex, public SvxGraphCtrlAccessibleContext_Base,
     SfxListener, accessibility::IAccessibleViewForwarder
 {
 public:
commit c599d100168e2022cb2323503f3c49ae1ec91513
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:07:08 2016 +0100

    loplugin:privatebase: Make derivation from BitSet explicitly private
    
    Change-Id: I9c61aee4cbf3f461c84f064ac8259e51aa7b0ada

diff --git a/sfx2/inc/bitset.hxx b/sfx2/inc/bitset.hxx
index 4280793..67651e1 100644
--- a/sfx2/inc/bitset.hxx
+++ b/sfx2/inc/bitset.hxx
@@ -137,7 +137,7 @@ inline bool BitSet::operator!=( const BitSet& rSet ) const
     return !( *this == rSet );
 }
 
-class IndexBitSet : BitSet
+class IndexBitSet : private BitSet
 {
 public:
   sal_uInt16 GetFreeIndex();
commit 9f2e50408f724c2b8a2b13e322325b6d535d1477
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:06:23 2016 +0100

    loplugin:privatebase: Make derivation from Timer explicitly private
    
    Change-Id: I5c3bcd19bb63f78c8d06961d39b0932220cb3762

diff --git a/include/vcl/debugevent.hxx b/include/vcl/debugevent.hxx
index 8cde5ef..a4331ad 100644
--- a/include/vcl/debugevent.hxx
+++ b/include/vcl/debugevent.hxx
@@ -17,7 +17,7 @@
 #include <sal/types.h>
 #include <vcl/window.hxx>
 
-class VCL_DLLPUBLIC DebugEventInjector : Timer {
+class VCL_DLLPUBLIC DebugEventInjector : private Timer {
   sal_uInt32 mnEventsLeft;
   DebugEventInjector( sal_uInt32 nMaxEvents );
 
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index 4bb9522..5ef4b54 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -253,7 +253,7 @@ public:
     }
 };
 
-class ProgressBarTimer : Timer
+class ProgressBarTimer : private Timer
 {
     // FIXME: really we should unify all sheet loading
     // progress reporting into something pleasant.
diff --git a/sd/source/ui/remotecontrol/ImagePreparer.hxx b/sd/source/ui/remotecontrol/ImagePreparer.hxx
index deb3a03..cb7f5bb 100644
--- a/sd/source/ui/remotecontrol/ImagePreparer.hxx
+++ b/sd/source/ui/remotecontrol/ImagePreparer.hxx
@@ -18,7 +18,7 @@
 namespace sd
 {
 
-class ImagePreparer : Timer
+class ImagePreparer : private Timer
 {
     sal_uInt32 mnSendingSlide;
 public:
diff --git a/sd/source/ui/remotecontrol/Receiver.hxx b/sd/source/ui/remotecontrol/Receiver.hxx
index 99d8a2f..d43b5af 100644
--- a/sd/source/ui/remotecontrol/Receiver.hxx
+++ b/sd/source/ui/remotecontrol/Receiver.hxx
@@ -27,7 +27,7 @@ namespace sd
 {
 
 // Timer is protected by the solar mutex => so are we.
-class Receiver : Timer
+class Receiver : private Timer
 {
     std::deque< std::vector< OString > > maExecQueue;
 public:
commit 8ee94bfb1d3cb16e533dbed3cc4a03fafa9062df
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:03:51 2016 +0100

    loplugin:privatebase: Publicly derive from apitest classes
    
    Somewhat arbitrarily prefer public over private derivation.
    
    Change-Id: I444babc5c5dbbf46d77d3e1439c12399976d8fe8

diff --git a/sc/qa/extras/scannotationobj.cxx b/sc/qa/extras/scannotationobj.cxx
index e0b2500..4aa3f23 100644
--- a/sc/qa/extras/scannotationobj.cxx
+++ b/sc/qa/extras/scannotationobj.cxx
@@ -26,7 +26,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 5
 
-class ScAnnontationObj : public CalcUnoApiTest, apitest::XSheetAnnotation
+class ScAnnontationObj : public CalcUnoApiTest, public apitest::XSheetAnnotation
 {
 public:
     ScAnnontationObj();
diff --git a/sc/qa/extras/scannotationshapeobj.cxx b/sc/qa/extras/scannotationshapeobj.cxx
index 8f0c16e..7eefd0c 100644
--- a/sc/qa/extras/scannotationshapeobj.cxx
+++ b/sc/qa/extras/scannotationshapeobj.cxx
@@ -24,7 +24,7 @@ using namespace css::uno;
 
 namespace sc_apitest {
 
-class ScAnnotationShapeObj : public CalcUnoApiTest, apitest::XText
+class ScAnnotationShapeObj : public CalcUnoApiTest, public apitest::XText
 {
 public:
     ScAnnotationShapeObj();
diff --git a/sc/qa/extras/scannotationsobj.cxx b/sc/qa/extras/scannotationsobj.cxx
index 84b5124..8c3a097 100644
--- a/sc/qa/extras/scannotationsobj.cxx
+++ b/sc/qa/extras/scannotationsobj.cxx
@@ -22,7 +22,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 4
 
-class ScAnnontationsObj : public CalcUnoApiTest, apitest::XSheetAnnotations
+class ScAnnontationsObj : public CalcUnoApiTest, public apitest::XSheetAnnotations
 {
 public:
     ScAnnontationsObj();
diff --git a/sc/qa/extras/sccellrangeobj.cxx b/sc/qa/extras/sccellrangeobj.cxx
index 2757f62..a81377e 100644
--- a/sc/qa/extras/sccellrangeobj.cxx
+++ b/sc/qa/extras/sccellrangeobj.cxx
@@ -25,8 +25,8 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 14
 
-class ScCellRangeObj : public CalcUnoApiTest, apitest::XCellRangesQuery, apitest::CellProperties,
-                        apitest::XSearchable, apitest::XReplaceable, apitest::XCellRangeData
+class ScCellRangeObj : public CalcUnoApiTest, public apitest::XCellRangesQuery, public apitest::CellProperties,
+                        public apitest::XSearchable, public apitest::XReplaceable, public apitest::XCellRangeData
 {
 public:
     ScCellRangeObj();
diff --git a/sc/qa/extras/scdatabaserangeobj.cxx b/sc/qa/extras/scdatabaserangeobj.cxx
index f6aca7abd..430c988 100644
--- a/sc/qa/extras/scdatabaserangeobj.cxx
+++ b/sc/qa/extras/scdatabaserangeobj.cxx
@@ -22,7 +22,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 6
 
-class ScDatabaseRangeObj : public CalcUnoApiTest, apitest::XDatabaseRange
+class ScDatabaseRangeObj : public CalcUnoApiTest, public apitest::XDatabaseRange
 {
 public:
     virtual void setUp() override;
diff --git a/sc/qa/extras/scdatapilotfieldobj.cxx b/sc/qa/extras/scdatapilotfieldobj.cxx
index d97cd1f..58849d8 100644
--- a/sc/qa/extras/scdatapilotfieldobj.cxx
+++ b/sc/qa/extras/scdatapilotfieldobj.cxx
@@ -24,8 +24,8 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 6
 
-class ScDataPilotFieldObj : public CalcUnoApiTest, apitest::XDataPilotFieldGrouping,
-                                apitest::DataPilotField
+class ScDataPilotFieldObj : public CalcUnoApiTest, public apitest::XDataPilotFieldGrouping,
+                                public apitest::DataPilotField
 {
 public:
     virtual void setUp() override;
diff --git a/sc/qa/extras/scdatapilottableobj.cxx b/sc/qa/extras/scdatapilottableobj.cxx
index 88e31a5..8464e2f 100644
--- a/sc/qa/extras/scdatapilottableobj.cxx
+++ b/sc/qa/extras/scdatapilottableobj.cxx
@@ -26,8 +26,8 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 16
 
-class ScDataPilotTableObj : public CalcUnoApiTest, apitest::XDataPilotDescriptor, apitest::XDataPilotTable,
-                                apitest::XNamed, apitest::XDataPilotTable2
+class ScDataPilotTableObj : public CalcUnoApiTest, public apitest::XDataPilotDescriptor, public apitest::XDataPilotTable,
+                                public apitest::XNamed, public apitest::XDataPilotTable2
 {
 public:
     ScDataPilotTableObj();
diff --git a/sc/qa/extras/sceditfieldobj-cell.cxx b/sc/qa/extras/sceditfieldobj-cell.cxx
index b16aaf6..a0533e3 100644
--- a/sc/qa/extras/sceditfieldobj-cell.cxx
+++ b/sc/qa/extras/sceditfieldobj-cell.cxx
@@ -27,7 +27,7 @@ using namespace css::uno;
 
 namespace sc_apitest {
 
-class ScEditFieldObj_Cell : public CalcUnoApiTest, apitest::XTextField, apitest::XTextContent, apitest::XPropertySet
+class ScEditFieldObj_Cell : public CalcUnoApiTest, public apitest::XTextField, public apitest::XTextContent, public apitest::XPropertySet
 {
 public:
     ScEditFieldObj_Cell();
diff --git a/sc/qa/extras/sceditfieldobj-header.cxx b/sc/qa/extras/sceditfieldobj-header.cxx
index d556639..d4e87bd 100644
--- a/sc/qa/extras/sceditfieldobj-header.cxx
+++ b/sc/qa/extras/sceditfieldobj-header.cxx
@@ -30,7 +30,7 @@ using namespace css::uno;
 
 namespace sc_apitest {
 
-class ScEditFieldObj_Header : public CalcUnoApiTest, apitest::XTextContent, apitest::XPropertySet
+class ScEditFieldObj_Header : public CalcUnoApiTest, public apitest::XTextContent, public apitest::XPropertySet
 {
 public:
     ScEditFieldObj_Header();
diff --git a/sc/qa/extras/scmodelobj.cxx b/sc/qa/extras/scmodelobj.cxx
index 929e76d..9a2666f 100644
--- a/sc/qa/extras/scmodelobj.cxx
+++ b/sc/qa/extras/scmodelobj.cxx
@@ -17,7 +17,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 1
 
-class ScModelObj : public UnoApiTest, apitest::XGoalSeek
+class ScModelObj : public UnoApiTest, public apitest::XGoalSeek
 {
 public:
     virtual void setUp() override;
diff --git a/sc/qa/extras/scnamedrangeobj.cxx b/sc/qa/extras/scnamedrangeobj.cxx
index 4b01d6a..c1cbc93 100644
--- a/sc/qa/extras/scnamedrangeobj.cxx
+++ b/sc/qa/extras/scnamedrangeobj.cxx
@@ -24,7 +24,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 9
 
-class ScNamedRangeObj : public CalcUnoApiTest, apitest::XNamedRange, apitest::XNamed, apitest::XCellRangeReferrer
+class ScNamedRangeObj : public CalcUnoApiTest, public apitest::XNamedRange, public apitest::XNamed, public apitest::XCellRangeReferrer
 {
 public:
     ScNamedRangeObj();
diff --git a/sc/qa/extras/scnamedrangesobj.cxx b/sc/qa/extras/scnamedrangesobj.cxx
index 4eb341a..d0d3d57 100644
--- a/sc/qa/extras/scnamedrangesobj.cxx
+++ b/sc/qa/extras/scnamedrangesobj.cxx
@@ -21,7 +21,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 3
 
-class ScNamedRangesObj : public CalcUnoApiTest, apitest::XNamedRanges
+class ScNamedRangesObj : public CalcUnoApiTest, public apitest::XNamedRanges
 {
 public:
     virtual void setUp() override;
diff --git a/sc/qa/extras/scoutlineobj.cxx b/sc/qa/extras/scoutlineobj.cxx
index 979cbbc..9d1b511 100644
--- a/sc/qa/extras/scoutlineobj.cxx
+++ b/sc/qa/extras/scoutlineobj.cxx
@@ -20,7 +20,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 6
 
-class ScOutlineObj : public CalcUnoApiTest, apitest::XSheetOutline
+class ScOutlineObj : public CalcUnoApiTest, public apitest::XSheetOutline
 {
 public:
     ScOutlineObj();
diff --git a/sc/qa/extras/scstyleloaderobj.cxx b/sc/qa/extras/scstyleloaderobj.cxx
index 000da40..1a1f819 100644
--- a/sc/qa/extras/scstyleloaderobj.cxx
+++ b/sc/qa/extras/scstyleloaderobj.cxx
@@ -20,7 +20,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 2
 
-class ScStyleLoaderObj : public CalcUnoApiTest, apitest::XStyleLoader
+class ScStyleLoaderObj : public CalcUnoApiTest, public apitest::XStyleLoader
 {
 public:
     ScStyleLoaderObj();
diff --git a/sc/qa/extras/sctablesheetobj.cxx b/sc/qa/extras/sctablesheetobj.cxx
index 0d34f0b..ecc5406 100644
--- a/sc/qa/extras/sctablesheetobj.cxx
+++ b/sc/qa/extras/sctablesheetobj.cxx
@@ -21,7 +21,7 @@ using namespace css::uno;
 namespace sc_apitest
 {
 
-class ScTableSheetObj : public CalcUnoApiTest, apitest::XSearchable, apitest::XReplaceable, apitest::XPrintAreas
+class ScTableSheetObj : public CalcUnoApiTest, public apitest::XSearchable, public apitest::XReplaceable, public apitest::XPrintAreas
 {
 public:
     ScTableSheetObj();
diff --git a/sc/qa/extras/sctablesheetsobj.cxx b/sc/qa/extras/sctablesheetsobj.cxx
index b062f27..51636f2 100644
--- a/sc/qa/extras/sctablesheetsobj.cxx
+++ b/sc/qa/extras/sctablesheetsobj.cxx
@@ -21,7 +21,7 @@ namespace sc_apitest {
 
 #define NUMBER_OF_TESTS 11
 
-class ScTableSheetsObj : public CalcUnoApiTest, public ::apitest::XSpreadsheets2, apitest::XNameContainer
+class ScTableSheetsObj : public CalcUnoApiTest, public ::apitest::XSpreadsheets2, public apitest::XNameContainer
 {
 public:
     ScTableSheetsObj();
commit 214f5cf2f104c1e64307ca9d4b933a39c87c507b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 13:01:53 2016 +0100

    loplugin:privatebase: Publicly derive from UNO interfaces
    
    Somewhat arbitrarily prefer public over private derivation; the former is what
    is used by default across the code base.
    
    Change-Id: I936c1b0d3231ac97015863f396a5af49f6c9647b

diff --git a/extensions/source/scanner/sane.hxx b/extensions/source/scanner/sane.hxx
index 5b80d39..504ede7 100644
--- a/extensions/source/scanner/sane.hxx
+++ b/extensions/source/scanner/sane.hxx
@@ -29,7 +29,7 @@
 // - BitmapTransporter -
 
 
-class BitmapTransporter : public OWeakObject, css::awt::XBitmap
+class BitmapTransporter : public OWeakObject, public css::awt::XBitmap
 {
     SvMemoryStream                      m_aStream;
     osl::Mutex                          m_aProtector;
diff --git a/package/source/xstor/owriteablestream.hxx b/package/source/xstor/owriteablestream.hxx
index d34f1fb..c84a653 100644
--- a/package/source/xstor/owriteablestream.hxx
+++ b/package/source/xstor/owriteablestream.hxx
@@ -230,7 +230,7 @@ public:
     sal_Int32 GetNewRelId() { return m_nRelId ++; }
 };
 
-class OWriteStream : css::lang::XTypeProvider
+class OWriteStream : public css::lang::XTypeProvider
             , public css::io::XInputStream
             , public css::io::XOutputStream
             , public css::embed::XExtendedStorageStream
diff --git a/svtools/source/inc/unoiface.hxx b/svtools/source/inc/unoiface.hxx
index 13178e4..659b363 100644
--- a/svtools/source/inc/unoiface.hxx
+++ b/svtools/source/inc/unoiface.hxx
@@ -113,7 +113,7 @@ public:
 
 //  class VCLXFileControl
 
-class VCLXFileControl : css::awt::XTextComponent, public css::awt::XTextLayoutConstrains, public VCLXWindow
+class VCLXFileControl : public css::awt::XTextComponent, public css::awt::XTextLayoutConstrains, public VCLXWindow
 {
 protected:
     DECL_LINK_TYPED(ModifyHdl, Edit&, void);
diff --git a/sw/source/core/access/acccell.hxx b/sw/source/core/access/acccell.hxx
index 6d66f33..62585a3 100644
--- a/sw/source/core/access/acccell.hxx
+++ b/sw/source/core/access/acccell.hxx
@@ -29,8 +29,8 @@ class SwAccessibleTable;
 class SwFrameFormat;
 
 class SwAccessibleCell : public SwAccessibleContext,
-                  css::accessibility::XAccessibleValue,
-                  css::accessibility::XAccessibleSelection,
+                  public css::accessibility::XAccessibleValue,
+                  public css::accessibility::XAccessibleSelection,
                   public  css::accessibility::XAccessibleExtendedAttributes
 {
     // Implementation for XAccessibleSelection interface
commit 00c62e306f4fd866f04a496a28c15d317ba02222
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 12:56:58 2016 +0100

    loplugin:privatebase: Publicly derive from binary_/unary_function
    
    Somewhat arbitrarily prefer public over private derivation; ultimately,
    derivation from those deprecated (C++11)/removed (C++17) classes should be
    removed, anyway.
    
    Change-Id: I5ed24427d37586e72f8c16509cf5002a54af73f1

diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index fddb247..58be840 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -465,7 +465,7 @@ void TextPortionList::Remove(sal_Int32 nPos)
 
 namespace {
 
-class FindTextPortionByAddress : std::unary_function<std::unique_ptr<TextPortion>, bool>
+class FindTextPortionByAddress : public std::unary_function<std::unique_ptr<TextPortion>, bool>
 {
     const TextPortion* mp;
 public:
@@ -1984,7 +1984,7 @@ EditDoc::~EditDoc()
 
 namespace {
 
-class RemoveEachItemFromPool : std::unary_function<std::unique_ptr<ContentNode>, void>
+class RemoveEachItemFromPool : public std::unary_function<std::unique_ptr<ContentNode>, void>
 {
     EditDoc& mrDoc;
 public:
@@ -2890,7 +2890,7 @@ bool CharAttribList::HasAttrib( sal_Int32 nStartPos, sal_Int32 nEndPos ) const
 
 namespace {
 
-class FindByAddress : std::unary_function<std::unique_ptr<EditCharAttrib>, bool>
+class FindByAddress : public std::unary_function<std::unique_ptr<EditCharAttrib>, bool>
 {
     const EditCharAttrib* mpAttr;
 public:
@@ -2955,7 +2955,7 @@ EditCharAttrib* CharAttribList::FindEmptyAttrib( sal_uInt16 nWhich, sal_Int32 nP
 
 namespace {
 
-class FindByStartPos : std::unary_function<std::unique_ptr<EditCharAttrib>, bool>
+class FindByStartPos : public std::unary_function<std::unique_ptr<EditCharAttrib>, bool>
 {
     sal_Int32 mnPos;
 public:
@@ -2985,7 +2985,7 @@ const EditCharAttrib* CharAttribList::FindFeature( sal_Int32 nPos ) const
 
 namespace {
 
-class RemoveEmptyAttrItem : std::unary_function<std::unique_ptr<EditCharAttrib>, void>
+class RemoveEmptyAttrItem : public std::unary_function<std::unique_ptr<EditCharAttrib>, void>
 {
     SfxItemPool& mrItemPool;
 public:
diff --git a/editeng/source/editeng/editobj.cxx b/editeng/source/editeng/editobj.cxx
index 0364ba1..d6bb729 100644
--- a/editeng/source/editeng/editobj.cxx
+++ b/editeng/source/editeng/editobj.cxx
@@ -872,7 +872,7 @@ bool EditTextObjectImpl::RemoveCharAttribs( sal_uInt16 _nWhich )
 
 namespace {
 
-class FindByParagraph : std::unary_function<editeng::Section, bool>
+class FindByParagraph : public std::unary_function<editeng::Section, bool>
 {
     sal_Int32 mnPara;
 public:
@@ -883,7 +883,7 @@ public:
     }
 };
 
-class FindBySectionStart : std::unary_function<editeng::Section, bool>
+class FindBySectionStart : public std::unary_function<editeng::Section, bool>
 {
     sal_Int32 mnPara;
     sal_Int32 mnStart;
diff --git a/filter/source/config/cache/typedetection.cxx b/filter/source/config/cache/typedetection.cxx
index 4b7fa9f..2a11e45 100644
--- a/filter/source/config/cache/typedetection.cxx
+++ b/filter/source/config/cache/typedetection.cxx
@@ -339,7 +339,7 @@ struct EqualByType : public std::binary_function<FlatDetectionInfo, FlatDetectio
     }
 };
 
-class FindByType : std::unary_function<FlatDetectionInfo, bool>
+class FindByType : public std::unary_function<FlatDetectionInfo, bool>
 {
     OUString maType;
 public:
diff --git a/sc/inc/typedstrdata.hxx b/sc/inc/typedstrdata.hxx
index 42dcd60..523c8e7 100644
--- a/sc/inc/typedstrdata.hxx
+++ b/sc/inc/typedstrdata.hxx
@@ -67,7 +67,7 @@ private:
     bool   mbIsDate;
 };
 
-class FindTypedStrData : std::unary_function<ScTypedStrData, bool>
+class FindTypedStrData : public std::unary_function<ScTypedStrData, bool>
 {
     ScTypedStrData maVal;
     bool mbCaseSens;
diff --git a/sc/qa/unit/subsequent_filters-test.cxx b/sc/qa/unit/subsequent_filters-test.cxx
index d475579..cff11cd 100644
--- a/sc/qa/unit/subsequent_filters-test.cxx
+++ b/sc/qa/unit/subsequent_filters-test.cxx
@@ -1733,7 +1733,7 @@ void ScFiltersTest::testCellAnchoredHiddenShapesXLSX()
 
 namespace {
 
-class FindDimByName : std::unary_function<const ScDPSaveDimension*, bool>
+class FindDimByName : public std::unary_function<const ScDPSaveDimension*, bool>
 {
     OUString maName;
 public:
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index c09f096..12ed941 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -1952,7 +1952,7 @@ void ScColumn::MoveTo(SCROW nStartRow, SCROW nEndRow, ScColumn& rCol)
 
 namespace {
 
-class SharedTopFormulaCellPicker : std::unary_function<sc::CellStoreType::value_type, void>
+class SharedTopFormulaCellPicker : public std::unary_function<sc::CellStoreType::value_type, void>
 {
 public:
     virtual ~SharedTopFormulaCellPicker() {}
@@ -2026,7 +2026,7 @@ public:
     }
 };
 
-class UpdateRefOnNonCopy : std::unary_function<sc::FormulaGroupEntry, void>
+class UpdateRefOnNonCopy : public std::unary_function<sc::FormulaGroupEntry, void>
 {
     SCCOL mnCol;
     SCROW mnTab;
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index d66090b..5a59657 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -731,7 +731,7 @@ bool ScColumn::InitBlockPosition( sc::ColumnBlockConstPosition& rBlockPos ) cons
 
 namespace {
 
-class CopyAttrArrayByRange : std::unary_function<sc::RowSpan, void>
+class CopyAttrArrayByRange : public std::unary_function<sc::RowSpan, void>
 {
     ScAttrArray& mrDestAttrArray;
     ScAttrArray& mrSrcAttrArray;
diff --git a/sc/source/core/data/documen7.cxx b/sc/source/core/data/documen7.cxx
index eedb0e1..82afce2 100644
--- a/sc/source/core/data/documen7.cxx
+++ b/sc/source/core/data/documen7.cxx
@@ -169,7 +169,7 @@ void ScDocument::BroadcastCells( const ScRange& rRange, sal_uInt32 nHint, bool b
 
 namespace {
 
-class RefMovedNotifier : std::unary_function<SvtListener*, void>
+class RefMovedNotifier : public std::unary_function<SvtListener*, void>
 {
     const sc::RefMovedHint& mrHint;
 public:
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index c12ea31..deaddf4 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -3808,7 +3808,7 @@ void ScDocument::CompileAll()
 
 namespace {
 
-class CompileXMLHandler : std::unary_function<ScTable*, void>
+class CompileXMLHandler : public std::unary_function<ScTable*, void>
 {
     sc::CompileFormulaContext* mpCxt;
     ScProgress* mpProgress;
diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx
index d3303ed..dddd8b0 100644
--- a/sc/source/core/data/document10.cxx
+++ b/sc/source/core/data/document10.cxx
@@ -391,7 +391,7 @@ void ScDocument::SetNeedsListeningGroups( const std::vector<ScAddress>& rPosArra
 
 namespace {
 
-class StartNeededListenersHandler : std::unary_function<ScTable*, void>
+class StartNeededListenersHandler : public std::unary_function<ScTable*, void>
 {
     std::shared_ptr<sc::StartListeningContext> mpCxt;
 public:
diff --git a/sc/source/core/data/dpcache.cxx b/sc/source/core/data/dpcache.cxx
index da4d08f..0ba46d4 100644
--- a/sc/source/core/data/dpcache.cxx
+++ b/sc/source/core/data/dpcache.cxx
@@ -207,7 +207,7 @@ struct EqualByOrderIndex : std::binary_function<Bucket, Bucket, bool>
     }
 };
 
-class PushBackValue : std::unary_function<Bucket, void>
+class PushBackValue : public std::unary_function<Bucket, void>
 {
     ScDPCache::ScDPItemDataVec& mrItems;
 public:
@@ -218,7 +218,7 @@ public:
     }
 };
 
-class PushBackOrderIndex : std::unary_function<Bucket, void>
+class PushBackOrderIndex : public std::unary_function<Bucket, void>
 {
     ScDPCache::IndexArrayType& mrData;
 public:
@@ -229,7 +229,7 @@ public:
     }
 };
 
-class TagValueSortOrder : std::unary_function<Bucket, void>
+class TagValueSortOrder : public std::unary_function<Bucket, void>
 {
     SCROW mnCurIndex;
 public:
diff --git a/sc/source/core/data/dpdimsave.cxx b/sc/source/core/data/dpdimsave.cxx
index bdd048b..4d24871 100644
--- a/sc/source/core/data/dpdimsave.cxx
+++ b/sc/source/core/data/dpdimsave.cxx
@@ -658,7 +658,7 @@ void ScDPDimensionSaveData::WriteToData( ScDPGroupTableData& rData ) const
 
 namespace {
 
-class AddGroupDimToCache : std::unary_function<ScDPSaveGroupDimension, void>
+class AddGroupDimToCache : public std::unary_function<ScDPSaveGroupDimension, void>
 {
     ScDPCache& mrCache;
 public:
diff --git a/sc/source/core/data/dpgroup.cxx b/sc/source/core/data/dpgroup.cxx
index 1ebb4d8..f752d43 100644
--- a/sc/source/core/data/dpgroup.cxx
+++ b/sc/source/core/data/dpgroup.cxx
@@ -641,7 +641,7 @@ void ScDPGroupTableData::CreateCacheTable()
 
 namespace {
 
-class FindCaseInsensitive : std::unary_function<ScDPItemData, bool>
+class FindCaseInsensitive : public std::unary_function<ScDPItemData, bool>
 {
     ScDPItemData maValue;
 public:
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index e14f368..4effa69 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -584,7 +584,7 @@ public:
     }
 };
 
-class FindIntersectingTable : std::unary_function<std::unique_ptr<ScDPObject>, bool>
+class FindIntersectingTable : public std::unary_function<std::unique_ptr<ScDPObject>, bool>
 {
     ScRange maRange;
 public:
@@ -596,7 +596,7 @@ public:
     }
 };
 
-class FindIntersetingTableByColumns : std::unary_function<std::unique_ptr<ScDPObject>, bool>
+class FindIntersetingTableByColumns : public std::unary_function<std::unique_ptr<ScDPObject>, bool>
 {
     SCCOL mnCol1;
     SCCOL mnCol2;
@@ -630,7 +630,7 @@ public:
     }
 };
 
-class FindIntersectingTableByRows : std::unary_function<std::unique_ptr<ScDPObject>, bool>
+class FindIntersectingTableByRows : public std::unary_function<std::unique_ptr<ScDPObject>, bool>
 {
     SCCOL mnCol;
     SCROW mnRow1;
@@ -664,7 +664,7 @@ public:
     }
 };
 
-class AccumulateOutputRanges : std::unary_function<std::unique_ptr<ScDPObject>, void>
+class AccumulateOutputRanges : public std::unary_function<std::unique_ptr<ScDPObject>, void>
 {
     ScRangeList maRanges;
     SCTAB mnTab;
@@ -1326,7 +1326,7 @@ void ScDPObject::GetHeaderPositionData(const ScAddress& rPos, DataPilotTableHead
 
 namespace {
 
-class FindByName : std::unary_function<const ScDPSaveDimension*, bool>
+class FindByName : public std::unary_function<const ScDPSaveDimension*, bool>
 {
     OUString maName; // must be all uppercase.
 public:
@@ -1349,7 +1349,7 @@ public:
     }
 };
 
-class LessByDimOrder : std::binary_function<sheet::DataPilotFieldFilter, sheet::DataPilotFieldFilter, bool>
+class LessByDimOrder : public std::binary_function<sheet::DataPilotFieldFilter, sheet::DataPilotFieldFilter, bool>
 {
     const ScDPSaveData::DimOrderType& mrDimOrder;
 
diff --git a/sc/source/core/data/dpsave.cxx b/sc/source/core/data/dpsave.cxx
index 82d810c..77318b1 100644
--- a/sc/source/core/data/dpsave.cxx
+++ b/sc/source/core/data/dpsave.cxx
@@ -895,7 +895,7 @@ const OUString* ScDPSaveData::GetGrandTotalName() const
 
 namespace {
 
-class DimOrderInserter : std::unary_function<const ScDPSaveDimension*, void>
+class DimOrderInserter : public std::unary_function<const ScDPSaveDimension*, void>
 {
     ScDPSaveData::DimOrderType& mrNames;
 public:
diff --git a/sc/source/core/data/dptabsrc.cxx b/sc/source/core/data/dptabsrc.cxx
index 24e7fec..2895cb5 100644
--- a/sc/source/core/data/dptabsrc.cxx
+++ b/sc/source/core/data/dptabsrc.cxx
@@ -683,7 +683,7 @@ void ScDPSource::FillCalcInfo(bool bIsRow, ScDPTableData::CalcInfo& rInfo, bool
 
 namespace {
 
-class CategoryDimInserter : std::unary_function<long, void>
+class CategoryDimInserter : public std::unary_function<long, void>
 {
     ScDPSource& mrSource;
     std::unordered_set<sal_Int32>& mrCatDims;
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index 722c5c0..450cf40 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -304,7 +304,7 @@ lcl_checkRangeDimensions(
     return false;
 }
 
-class LessByReference : std::binary_function<const formula::FormulaToken*, const formula::FormulaToken*, bool>
+class LessByReference : public std::binary_function<const formula::FormulaToken*, const formula::FormulaToken*, bool>
 {
     ScAddress maPos;
     DimensionSelector maFunc;
@@ -325,7 +325,7 @@ public:
  * denoted by token p1. Dimension, in which the comparison takes place, is
  * given by maFunc.
  */
-class AdjacentByReference : std::binary_function<const formula::FormulaToken*, const formula::FormulaToken*, bool>
+class AdjacentByReference : public std::binary_function<const formula::FormulaToken*, const formula::FormulaToken*, bool>
 {
     ScAddress maPos;
     DimensionSelector maFunc;
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index b9ab8ca..2713992 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -651,7 +651,7 @@ void ScTable::DestroySortCollator()
 namespace {
 
 template<typename _Hint, typename _ReorderMap, typename _Index>
-class ReorderNotifier : std::unary_function<SvtListener*, void>
+class ReorderNotifier : public std::unary_function<SvtListener*, void>
 {
     _Hint maHint;
 public:
@@ -664,7 +664,7 @@ public:
     }
 };
 
-class StartListeningNotifier : std::unary_function<SvtListener*, void>
+class StartListeningNotifier : public std::unary_function<SvtListener*, void>
 {
     sc::RefStartListeningHint maHint;
 public:
@@ -676,7 +676,7 @@ public:
     }
 };
 
-class StopListeningNotifier : std::unary_function<SvtListener*, void>
+class StopListeningNotifier : public std::unary_function<SvtListener*, void>
 {
     sc::RefStopListeningHint maHint;
 public:
@@ -688,7 +688,7 @@ public:
     }
 };
 
-class FormulaGroupPosCollector : std::unary_function<SvtListener*, void>
+class FormulaGroupPosCollector : public std::unary_function<SvtListener*, void>
 {
     sc::RefQueryFormulaGroup& mrQuery;
 
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 4c55d76..243faa7 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4045,7 +4045,7 @@ void ScCompiler::CreateStringFromXMLTokenArray( OUString& rFormula, OUString& rF
 
 namespace {
 
-class ExternalFileInserter : std::unary_function<sal_uInt16, void>
+class ExternalFileInserter : public std::unary_function<sal_uInt16, void>
 {
     ScAddress maPos;
     ScExternalRefManager& mrRefMgr;
diff --git a/sc/source/core/tool/grouparealistener.cxx b/sc/source/core/tool/grouparealistener.cxx
index a415787..ac8dd42 100644
--- a/sc/source/core/tool/grouparealistener.cxx
+++ b/sc/source/core/tool/grouparealistener.cxx
@@ -22,7 +22,7 @@ namespace sc {
 
 namespace {
 
-class Notifier : std::unary_function<ScFormulaCell*, void>
+class Notifier : public std::unary_function<ScFormulaCell*, void>
 {
     const SfxHint& mrHint;
 public:
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index ca54487..dfa6693 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -3213,7 +3213,7 @@ bool ScInterpreter::SetSbxVariable( SbxVariable* pVar, const ScAddress& rPos )
 
 namespace {
 
-class FindByPointer : ::std::unary_function<ScInterpreterTableOpParams, bool>
+class FindByPointer : public ::std::unary_function<ScInterpreterTableOpParams, bool>
 {
     const ScInterpreterTableOpParams* mpTableOp;
 public:
diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index 2546b8b..12cc662 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -1660,7 +1660,7 @@ void ScInterpreter::ScPow()
 
 namespace {
 
-class SumValues : std::unary_function<double, void>
+class SumValues : public std::unary_function<double, void>
 {
     double mfSum;
     bool   mbError;
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index ec87836..a3a86d4 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -135,7 +135,7 @@ struct ElemLessEqualZero : public unary_function<double, double>
 };
 
 template<typename _Comp>
-class CompareMatrixElemFunc : std::unary_function<MatrixImplType::element_block_node_type, void>
+class CompareMatrixElemFunc : public std::unary_function<MatrixImplType::element_block_node_type, void>
 {
     static _Comp maComp;
 
@@ -1155,7 +1155,7 @@ public:
     }
 };
 
-class CountElements : std::unary_function<MatrixImplType::element_block_node_type, void>
+class CountElements : public std::unary_function<MatrixImplType::element_block_node_type, void>
 {
     size_t mnCount;
     bool mbCountString;
@@ -1186,7 +1186,7 @@ public:
 const size_t ResultNotSet = std::numeric_limits<size_t>::max();
 
 template<typename _Type>
-class WalkAndMatchElements : std::unary_function<MatrixImplType::element_block_node_type, void>
+class WalkAndMatchElements : public std::unary_function<MatrixImplType::element_block_node_type, void>
 {
     _Type maMatchValue;
     MatrixImplType::size_pair_type maSize;
@@ -1336,7 +1336,7 @@ struct MinOp
 };
 
 template<typename _Op>
-class CalcMaxMinValue : std::unary_function<MatrixImplType::element_block_type, void>
+class CalcMaxMinValue : public std::unary_function<MatrixImplType::element_block_type, void>
 {
     double mfVal;
     bool mbTextAsZero;
@@ -1425,7 +1425,7 @@ inline double evaluate( double fVal, ScQueryOp eOp )
     return CreateDoubleError( errUnknownState);
 }
 
-class CompareMatrixFunc : std::unary_function<MatrixImplType::element_block_type, void>
+class CompareMatrixFunc : public std::unary_function<MatrixImplType::element_block_type, void>
 {
     sc::Compare& mrComp;
     size_t mnMatPos;
@@ -1519,7 +1519,7 @@ public:
 /**
  * Left-hand side is a matrix while the right-hand side is a numeric value.
  */
-class CompareMatrixToNumericFunc : std::unary_function<MatrixImplType::element_block_type, void>
+class CompareMatrixToNumericFunc : public std::unary_function<MatrixImplType::element_block_type, void>
 {
     sc::Compare& mrComp;
     double mfRightValue;
@@ -1608,7 +1608,7 @@ public:
     }
 };
 
-class ToDoubleArray : std::unary_function<MatrixImplType::element_block_type, void>
+class ToDoubleArray : public std::unary_function<MatrixImplType::element_block_type, void>
 {
     std::vector<double> maArray;
     std::vector<double>::iterator miPos;
@@ -1682,7 +1682,7 @@ struct ArrayMul : public std::binary_function<double, double, double>
 };
 
 template<typename _Op>
-class MergeDoubleArrayFunc : std::unary_function<MatrixImplType::element_block_type, void>
+class MergeDoubleArrayFunc : public std::unary_function<MatrixImplType::element_block_type, void>
 {
     std::vector<double>& mrArray;
     std::vector<double>::iterator miPos;
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 5e98d29..12a1b7d 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -79,7 +79,7 @@ orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::append_sheet(const char
     return maSheets.back().get();
 }
 
-class FindSheetByIndex : std::unary_function< std::unique_ptr<ScOrcusSheet>, bool>
+class FindSheetByIndex : public std::unary_function< std::unique_ptr<ScOrcusSheet>, bool>
 {
     SCTAB mnTab;
 public:
diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx
index 618b0ce..63a10fb 100644
--- a/sc/source/filter/orcus/xmlcontext.cxx
+++ b/sc/source/filter/orcus/xmlcontext.cxx
@@ -132,7 +132,7 @@ public:
     }
 };
 
-class InsertFieldPath : std::unary_function<OString, void>
+class InsertFieldPath : public std::unary_function<OString, void>
 {
     orcus::orcus_xml& mrFilter;
 public:
@@ -208,7 +208,7 @@ bool ScOrcusXMLContextImpl::loadXMLStructure(SvTreeListBox& rTreeCtrl, ScOrcusXM
 
 namespace {
 
-class SetNamespaceAlias : std::unary_function<size_t, void>
+class SetNamespaceAlias : public std::unary_function<size_t, void>
 {
     orcus::orcus_xml& mrFilter;
     orcus::xmlns_repository& mrNsRepo;
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index 90b5703..17fa01e 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -215,7 +215,7 @@ bool hasRefsToSrcDoc(ScRangeData& rData, sal_uInt16 nFileId)
     return false;
 }
 
-class EraseRangeByIterator : unary_function<ScRangeName::iterator, void>
+class EraseRangeByIterator : public unary_function<ScRangeName::iterator, void>
 {
     ScRangeName& mrRanges;
 public:
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index d70e518..9d5b047 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -1245,7 +1245,7 @@ void ScUndoDragDrop::DoUndo( ScRange aRange )
 
 namespace {
 
-class DataChangeNotifier : std::unary_function<SvtListener*, void>
+class DataChangeNotifier : public std::unary_function<SvtListener*, void>
 {
     ScHint maHint;
 public:
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 8bd6ebc..fe84cf0 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -1357,7 +1357,7 @@ bool lcl_addUpperLeftCornerIfMissing(vector<ScTokenRef>& rRefTokens,
 
 #define SHRINK_RANGE_THRESHOLD 10000
 
-class ShrinkRefTokenToDataRange : std::unary_function<ScTokenRef, void>
+class ShrinkRefTokenToDataRange : public std::unary_function<ScTokenRef, void>
 {
     ScDocument* mpDoc;
 public:
diff --git a/sc/source/ui/view/drawvie4.cxx b/sc/source/ui/view/drawvie4.cxx
index b28a9a1..9264b85 100644
--- a/sc/source/ui/view/drawvie4.cxx
+++ b/sc/source/ui/view/drawvie4.cxx
@@ -287,7 +287,7 @@ void getChartSourceRanges(ScDocument* pDoc, const SdrMarkList& rObjs, std::vecto
     }
 }
 
-class InsertTabIndex : std::unary_function<ScRange, void>
+class InsertTabIndex : public std::unary_function<ScRange, void>
 {
     std::vector<SCTAB>& mrTabs;
 public:
@@ -298,7 +298,7 @@ public:
     }
 };
 
-class CopyRangeData : std::unary_function<ScRange, void>
+class CopyRangeData : public std::unary_function<ScRange, void>
 {
     ScDocument* mpSrc;
     ScDocument* mpDest;
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index 57b34dd..a1a84d9 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -237,7 +237,7 @@ void ScXMLSourceDlg::HandleGetFocus(Control* pCtrl)
 
 namespace {
 
-class UnhighlightEntry : std::unary_function<SvTreeListEntry*, void>
+class UnhighlightEntry : public std::unary_function<SvTreeListEntry*, void>
 {
     SvTreeListBox& mrTree;
 public:
diff --git a/svtools/source/contnr/treelist.cxx b/svtools/source/contnr/treelist.cxx
index 8fc372f..c77c2c5 100644
--- a/svtools/source/contnr/treelist.cxx
+++ b/svtools/source/contnr/treelist.cxx
@@ -183,7 +183,7 @@ bool SvTreeList::IsChild(const SvTreeListEntry* pParent, const SvTreeListEntry*
 
 namespace {
 
-class FindByPointer : std::unary_function<SvTreeListEntry, bool>
+class FindByPointer : public std::unary_function<SvTreeListEntry, bool>
 {
     const SvTreeListEntry* mpEntry;
 public:
diff --git a/svtools/source/contnr/treelistentry.cxx b/svtools/source/contnr/treelistentry.cxx
index e32c65d..a2ffa29 100644
--- a/svtools/source/contnr/treelistentry.cxx
+++ b/svtools/source/contnr/treelistentry.cxx
@@ -167,7 +167,7 @@ SvLBoxItem& SvTreeListEntry::GetItem( size_t nPos )
 
 namespace {
 
-class FindByType : std::unary_function<SvLBoxItem, void>
+class FindByType : public std::unary_function<SvLBoxItem, void>
 {
     sal_uInt16 mnId;
 public:
@@ -178,7 +178,7 @@ public:
     }
 };
 
-class FindByPointer : std::unary_function<SvLBoxItem, void>
+class FindByPointer : public std::unary_function<SvLBoxItem, void>
 {
     const SvLBoxItem* mpItem;
 public:
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index 74d3f5b..92f18c3 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -588,7 +588,7 @@ std::vector<double> GetDashing( sal_uInt16 nDashing )
 
 namespace {
 
-class ApplyScale : std::unary_function<double, void>
+class ApplyScale : public std::unary_function<double, void>
 {
     double mfScale;
 public:
commit 9ff5abf2e17e1f482a608c8c4a76b563fe8fe7e3
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Jan 11 12:48:52 2016 +0100

    loplugin:privatebase: Make derivation from noncopyable explicitly private
    
    Change-Id: Ia410950353aec0106ea82d025ed3ee89c79ca127

diff --git a/avmedia/source/vlc/wrapper/EventHandler.hxx b/avmedia/source/vlc/wrapper/EventHandler.hxx
index 0fd0033..c515198 100644
--- a/avmedia/source/vlc/wrapper/EventHandler.hxx
+++ b/avmedia/source/vlc/wrapper/EventHandler.hxx
@@ -21,7 +21,7 @@ namespace vlc
 {
 namespace wrapper
 {
-    class EventHandler : public ::osl::Thread, boost::noncopyable
+    class EventHandler : public ::osl::Thread, private boost::noncopyable
     {
     public:
         EventHandler();
diff --git a/avmedia/source/vlc/wrapper/EventManager.hxx b/avmedia/source/vlc/wrapper/EventManager.hxx
index 624b798..c3905fc 100644
--- a/avmedia/source/vlc/wrapper/EventManager.hxx
+++ b/avmedia/source/vlc/wrapper/EventManager.hxx
@@ -24,7 +24,7 @@ namespace vlc
 namespace wrapper
 {
     class EventHandler;
-    class EventManager : boost::noncopyable
+    class EventManager : private boost::noncopyable
     {
 
     public:
diff --git a/avmedia/source/vlc/wrapper/ThreadsafeQueue.hxx b/avmedia/source/vlc/wrapper/ThreadsafeQueue.hxx
index b37158c..b5a8934 100644
--- a/avmedia/source/vlc/wrapper/ThreadsafeQueue.hxx
+++ b/avmedia/source/vlc/wrapper/ThreadsafeQueue.hxx
@@ -31,7 +31,7 @@ namespace vlc
 namespace wrapper
 {
 template<class T>
-class ThreadsafeQueue : boost::noncopyable
+class ThreadsafeQueue : private boost::noncopyable
 {
 public:
     ThreadsafeQueue();
@@ -78,4 +78,4 @@ void ThreadsafeQueue<T>::pop( T& data )
 }
 
 #endif // INCLUDED_AVMEDIA_SOURCE_VLC_WRAPPER_THREADSAFEQUEUE_HXX
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basctl/source/inc/doceventnotifier.hxx b/basctl/source/inc/doceventnotifier.hxx
index 9843639..e3cda5a 100644
--- a/basctl/source/inc/doceventnotifier.hxx
+++ b/basctl/source/inc/doceventnotifier.hxx
@@ -34,7 +34,7 @@ namespace basctl
     class ScriptDocument;
 
 
-    class SAL_NO_VTABLE DocumentEventListener : ::boost::noncopyable
+    class SAL_NO_VTABLE DocumentEventListener : private ::boost::noncopyable
     {
     public:
         virtual void onDocumentCreated( const ScriptDocument& _rDocument ) = 0;
diff --git a/chart2/source/view/inc/VDataSeries.hxx b/chart2/source/view/inc/VDataSeries.hxx
index 38da4c4..0d18b6e 100644
--- a/chart2/source/view/inc/VDataSeries.hxx
+++ b/chart2/source/view/inc/VDataSeries.hxx
@@ -56,7 +56,7 @@ public:
     mutable css::uno::Sequence<double> Doubles;
 };
 
-class VDataSeries final : boost::noncopyable
+class VDataSeries final : private boost::noncopyable
 {
 public:
     VDataSeries( const css::uno::Reference<css::chart2::XDataSeries>& xDataSeries );
diff --git a/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx b/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx
index 74cc593..2148fa0 100644
--- a/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx
@@ -36,7 +36,7 @@ namespace drawinglayer
     {
         namespace // anonymous namespace
         {
-            class TubeBuffer : boost::noncopyable
+            class TubeBuffer : private boost::noncopyable
             {
             private:
                 // data for buffered tube primitives
@@ -118,7 +118,7 @@ namespace drawinglayer
                 return rTheBuffer.getLineTubeSegments(nSegments, rMaterial);
             }
 
-            class CapBuffer : boost::noncopyable
+            class CapBuffer : private boost::noncopyable
             {
             private:
                 // data for buffered cap primitives
@@ -193,7 +193,7 @@ namespace drawinglayer
                 return rTheBuffer.getLineCapSegments(nSegments, rMaterial);
             }
 
-            class CapRoundBuffer : boost::noncopyable
+            class CapRoundBuffer : private boost::noncopyable
             {
             private:
                 // data for buffered capround primitives
diff --git a/editeng/source/editeng/editdoc.hxx b/editeng/source/editeng/editdoc.hxx
index 9fca927..cf898df 100644
--- a/editeng/source/editeng/editdoc.hxx
+++ b/editeng/source/editeng/editdoc.hxx
@@ -233,7 +233,7 @@ public:
 
 // class ContentNode
 
-class ContentNode : boost::noncopyable
+class ContentNode : private boost::noncopyable
 {
 private:
     OUString maString;
diff --git a/editeng/source/editeng/editobj2.hxx b/editeng/source/editeng/editobj2.hxx
index 1f0aa5e..0e61edd 100644
--- a/editeng/source/editeng/editobj2.hxx
+++ b/editeng/source/editeng/editobj2.hxx
@@ -123,7 +123,7 @@ public:
 
 };
 
-class ContentInfo : boost::noncopyable
+class ContentInfo : private boost::noncopyable
 {
     friend class EditTextObjectImpl;
 public:
@@ -173,7 +173,7 @@ public:
 #endif
 };
 
-class EditTextObjectImpl : boost::noncopyable
+class EditTextObjectImpl : private boost::noncopyable
 {
 public:
     typedef std::vector<std::unique_ptr<ContentInfo> > ContentInfosType;
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index c8d2211..84163cc 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -389,7 +389,7 @@ public:
 //  ImpEditEngine
 
 
-class ImpEditEngine : public SfxListener, boost::noncopyable
+class ImpEditEngine : public SfxListener, private boost::noncopyable
 {
     friend class EditEngine;
     friend class EditDbg;
diff --git a/extensions/source/update/check/updatehdl.hxx b/extensions/source/update/check/updatehdl.hxx
index 10a30cf..8b76b8d 100644
--- a/extensions/source/update/check/updatehdl.hxx
+++ b/extensions/source/update/check/updatehdl.hxx
@@ -67,7 +67,7 @@ enum UpdateState {
     UPDATESTATES_COUNT
 };
 
-class UpdateHandler : ::boost::noncopyable,
+class UpdateHandler : private ::boost::noncopyable,
                       public cppu::WeakImplHelper< css::awt::XActionListener,
                                                     css::awt::XTopWindowListener,
                                                     css::task::XInteractionHandler,
diff --git a/filter/source/svg/test/odfserializer.cxx b/filter/source/svg/test/odfserializer.cxx
index 3f0683a..b4b78c4 100644
--- a/filter/source/svg/test/odfserializer.cxx
+++ b/filter/source/svg/test/odfserializer.cxx
@@ -35,7 +35,7 @@ typedef ::cppu::WeakComponentImplHelper<
 
 class ODFSerializer : private cppu::BaseMutex,
                 public ODFSerializerBase,
-                boost::noncopyable
+                private boost::noncopyable
 {
 public:
     explicit ODFSerializer(const uno::Reference<io::XOutputStream>& xOut) :
diff --git a/sc/inc/chart2uno.hxx b/sc/inc/chart2uno.hxx
index 1ab54d9..9742908 100644
--- a/sc/inc/chart2uno.hxx
+++ b/sc/inc/chart2uno.hxx
@@ -236,7 +236,7 @@ class ScChart2DataSequence : public
                     css::beans::XPropertySet,
                     css::lang::XServiceInfo>,
                 SfxListener,
-                boost::noncopyable
+                private boost::noncopyable
 {
 public:
     explicit ScChart2DataSequence( ScDocument* pDoc,
diff --git a/sc/inc/clipcontext.hxx b/sc/inc/clipcontext.hxx
index 783c6bd..9bbd55c 100644
--- a/sc/inc/clipcontext.hxx
+++ b/sc/inc/clipcontext.hxx
@@ -29,7 +29,7 @@ namespace sc {
 struct ColumnBlockPosition;
 class ColumnBlockPositionSet;
 
-class ClipContextBase : boost::noncopyable
+class ClipContextBase : private boost::noncopyable
 {
     std::unique_ptr<ColumnBlockPositionSet> mpSet;
 
diff --git a/sc/inc/columniterator.hxx b/sc/inc/columniterator.hxx
index daac219..1cc9d95 100644
--- a/sc/inc/columniterator.hxx
+++ b/sc/inc/columniterator.hxx
@@ -14,7 +14,7 @@
 
 #include "column.hxx"
 
-class ScColumnTextWidthIterator : boost::noncopyable
+class ScColumnTextWidthIterator : private boost::noncopyable
 {
     sc::CellTextAttrStoreType& mrCellTextAttrs;
     const size_t mnEnd;
diff --git a/sc/inc/columnspanset.hxx b/sc/inc/columnspanset.hxx
index 92c78c9..23dbf21 100644
--- a/sc/inc/columnspanset.hxx
+++ b/sc/inc/columnspanset.hxx
@@ -47,7 +47,7 @@ struct SC_DLLPUBLIC ColRowSpan
  * Structure that stores segments of boolean flags per column, and perform
  * custom action on those segments.
  */
-class ColumnSpanSet : boost::noncopyable
+class ColumnSpanSet : private boost::noncopyable
 {
 public:
     typedef mdds::flat_segment_tree<SCROW, bool> ColumnSpansType;
diff --git a/sc/inc/documentimport.hxx b/sc/inc/documentimport.hxx
index 66ffaac..fc1c7c4 100644
--- a/sc/inc/documentimport.hxx
+++ b/sc/inc/documentimport.hxx
@@ -38,7 +38,7 @@ enum class SvtScriptType;
  * position calculation, or anything else that requires expensive
  * computation which are unnecessary and undesirable during import.
  */
-class SC_DLLPUBLIC ScDocumentImport : boost::noncopyable
+class SC_DLLPUBLIC ScDocumentImport : private boost::noncopyable
 {
     std::unique_ptr<ScDocumentImportImpl> mpImpl;
 
diff --git a/sc/inc/documentlinkmgr.hxx b/sc/inc/documentlinkmgr.hxx
index 3f9cc0c..d500214 100644
--- a/sc/inc/documentlinkmgr.hxx
+++ b/sc/inc/documentlinkmgr.hxx
@@ -29,7 +29,7 @@ namespace sc {
 class DataStream;
 struct DocumentLinkManagerImpl;
 
-class DocumentLinkManager : boost::noncopyable
+class DocumentLinkManager : private boost::noncopyable
 {
     std::unique_ptr<DocumentLinkManagerImpl> mpImpl;
 
diff --git a/sc/inc/dpcache.hxx b/sc/inc/dpcache.hxx
index 9422b76..2329f76 100644
--- a/sc/inc/dpcache.hxx
+++ b/sc/inc/dpcache.hxx
@@ -41,7 +41,7 @@ struct ScDPNumGroupInfo;
  * This class represents the cached data part of the datapilot cache table
  * implementation.
  */
-class SC_DLLPUBLIC ScDPCache : boost::noncopyable
+class SC_DLLPUBLIC ScDPCache : private boost::noncopyable
 {
     typedef std::unordered_set<OUString, OUStringHash> StringSetType;
 
diff --git a/sc/inc/dpresfilter.hxx b/sc/inc/dpresfilter.hxx
index 9ff9ed4..dcab2f7 100644
--- a/sc/inc/dpresfilter.hxx
+++ b/sc/inc/dpresfilter.hxx
@@ -46,7 +46,7 @@ struct ScDPResultFilter
  * <p>If the pivot table layout only consists of either column or row
  * dimensions, the root node only has one child node.</p>
  */
-class ScDPResultTree : boost::noncopyable
+class ScDPResultTree : private boost::noncopyable
 {
 public:
     typedef std::vector<double> ValuesType;
diff --git a/sc/inc/dptabsrc.hxx b/sc/inc/dptabsrc.hxx
index 54dd48b..e696623 100644
--- a/sc/inc/dptabsrc.hxx
+++ b/sc/inc/dptabsrc.hxx
@@ -299,7 +299,7 @@ public:
     ScDPDimension*  getByIndex(long nIndex) const;
 };
 
-class ScDPDimension : boost::noncopyable, public cppu::WeakImplHelper<
+class ScDPDimension : private boost::noncopyable, public cppu::WeakImplHelper<
                             css::sheet::XHierarchiesSupplier,
                             css::container::XNamed,
                             css::util::XCloneable,
@@ -706,7 +706,7 @@ public:
     SCROW                   GetSrcItemsCount();
 };
 
-class ScDPMember : boost::noncopyable, public cppu::WeakImplHelper<
+class ScDPMember : private boost::noncopyable, public cppu::WeakImplHelper<
                             css::container::XNamed,
                             css::beans::XPropertySet,
                             css::lang::XServiceInfo >
diff --git a/sc/inc/listenercontext.hxx b/sc/inc/listenercontext.hxx
index 0ecbd8b..1ba1166 100644
--- a/sc/inc/listenercontext.hxx
+++ b/sc/inc/listenercontext.hxx
@@ -24,7 +24,7 @@ namespace sc {
 struct ColumnBlockPosition;
 class ColumnBlockPositionSet;
 
-class StartListeningContext : boost::noncopyable
+class StartListeningContext : private boost::noncopyable
 {
     ScDocument& mrDoc;
     std::shared_ptr<ColumnBlockPositionSet> mpSet;
@@ -36,7 +36,7 @@ public:
     ColumnBlockPosition* getBlockPosition(SCTAB nTab, SCCOL nCol);
 };
 
-class EndListeningContext : boost::noncopyable
+class EndListeningContext : private boost::noncopyable
 {
     ScDocument& mrDoc;
     ColumnSpanSet maSet;
@@ -60,7 +60,7 @@ public:
     void purgeEmptyBroadcasters();
 };
 
-class PurgeListenerAction : public ColumnSpanSet::Action, boost::noncopyable
+class PurgeListenerAction : public ColumnSpanSet::Action, private boost::noncopyable
 {
     ScDocument& mrDoc;
     std::unique_ptr<ColumnBlockPosition> mpBlockPos;
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index da2876f..0efff48 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -114,7 +114,7 @@ class ScDBData;
 class ScDocumentImport;
 class ScHint;
 
-class ScTable : boost::noncopyable
+class ScTable : private boost::noncopyable
 {
 private:
     typedef ::std::vector< ScRange > ScRangeVec;
diff --git a/sc/inc/textuno.hxx b/sc/inc/textuno.hxx
index defb6d6..8629758 100644
--- a/sc/inc/textuno.hxx
+++ b/sc/inc/textuno.hxx
@@ -108,7 +108,7 @@ public:
 
 //  ScHeaderFooterTextData: shared data between sub objects of a ScHeaderFooterTextObj
 
-class ScHeaderFooterTextData : boost::noncopyable
+class ScHeaderFooterTextData : private boost::noncopyable
 {
 private:
     EditTextObject* mpTextObj;
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 83e8bdf..b9ab8ca 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -219,7 +219,7 @@ struct ScSortInfo
 };
 IMPL_FIXEDMEMPOOL_NEWDEL( ScSortInfo )
 
-class ScSortInfoArray : boost::noncopyable
+class ScSortInfoArray : private boost::noncopyable
 {
 public:
 
diff --git a/sc/source/core/inc/bcaslot.hxx b/sc/source/core/inc/bcaslot.hxx
index fec60cd..8221af1 100644
--- a/sc/source/core/inc/bcaslot.hxx
+++ b/sc/source/core/inc/bcaslot.hxx
@@ -54,7 +54,7 @@ struct AreaListener
     Used in a Unique Associative Container.
  */
 
-class ScBroadcastArea : boost::noncopyable
+class ScBroadcastArea : private boost::noncopyable
 {
 private:
     ScBroadcastArea*    pUpdateChainNext;
diff --git a/sc/source/core/opencl/opbase.hxx b/sc/source/core/opencl/opbase.hxx
index 6401e19..ec1afaf 100644
--- a/sc/source/core/opencl/opbase.hxx
+++ b/sc/source/core/opencl/opbase.hxx
@@ -81,7 +81,7 @@ private:
 };
 
 /// (Partially) abstract base class for an operand
-class DynamicKernelArgument : boost::noncopyable
+class DynamicKernelArgument : private boost::noncopyable
 {
 public:
     DynamicKernelArgument( const ScCalcConfig& config, const std::string& s, FormulaTreeNodeRef ft );
diff --git a/sc/source/filter/inc/ftools.hxx b/sc/source/filter/inc/ftools.hxx
index 0a9667a..51eeedc 100644
--- a/sc/source/filter/inc/ftools.hxx
+++ b/sc/source/filter/inc/ftools.hxx
@@ -121,7 +121,7 @@ class ScStyleSheetPool;
 class SvStream;
 
 /** Contains static methods used anywhere in the filters. */
-class ScfTools : boost::noncopyable
+class ScfTools : private boost::noncopyable
 {
 public:
 
diff --git a/sc/source/filter/inc/xehelper.hxx b/sc/source/filter/inc/xehelper.hxx
index af40492..cb74854 100644
--- a/sc/source/filter/inc/xehelper.hxx
+++ b/sc/source/filter/inc/xehelper.hxx
@@ -209,7 +209,7 @@ class ScPatternAttr;
 /** This class provides methods to create an XclExpString.
     @descr  The string can be created from an edit engine text object or
     directly from a Calc edit cell. */
-class XclExpStringHelper : boost::noncopyable
+class XclExpStringHelper : private boost::noncopyable
 {
 public:
     /** Creates a new unformatted string from the passed string.
@@ -393,7 +393,7 @@ private:
 /** This class contains static methods to encode a file URL.
     @descr  Excel stores URLs in a format that contains special control characters,
     i.e. for directory separators or volume names. */
-class XclExpUrlHelper : boost::noncopyable
+class XclExpUrlHelper : private boost::noncopyable
 {
 public:
     /** Encodes and returns the URL passed in rAbsUrl to an Excel like URL.
diff --git a/sc/source/filter/inc/xihelper.hxx b/sc/source/filter/inc/xihelper.hxx
index 4e54d7c..08fb986 100644
--- a/sc/source/filter/inc/xihelper.hxx
+++ b/sc/source/filter/inc/xihelper.hxx
@@ -105,7 +105,7 @@ class EditTextObject;
 /** This class provides methods to convert an XclImpString.
     @The string can be converted to an edit engine text object or directly
     to a Calc edit cell. */
-class XclImpStringHelper : boost::noncopyable
+class XclImpStringHelper : private boost::noncopyable
 {
 public:
     /** Returns a new edit engine text object.
@@ -247,7 +247,7 @@ private:
 /** This class contains static methods to decode an URL stored in an Excel file.
     @descr  Excel URLs can contain a sheet name, for instance: path\[test.xls]Sheet1
     This sheet name will be extracted automatically. */
-class XclImpUrlHelper : boost::noncopyable
+class XclImpUrlHelper : private boost::noncopyable
 {
 public:
     /** Decodes an encoded external document URL with optional sheet name.
@@ -292,7 +292,7 @@ class ScTokenArray;
 
 /** This class stores one cached value of a cached value list (used for instance in
     CRN, EXTERNNAME, tArray). */
-class XclImpCachedValue : boost::noncopyable
+class XclImpCachedValue : private boost::noncopyable
 {
 public:
     /** Creates a cached value and reads contents from stream and stores it with its array address. */
diff --git a/sc/source/filter/inc/xltools.hxx b/sc/source/filter/inc/xltools.hxx
index 67c8f3c..7e203f7 100644
--- a/sc/source/filter/inc/xltools.hxx
+++ b/sc/source/filter/inc/xltools.hxx
@@ -76,7 +76,7 @@ XclExpStream& operator<<( XclExpStream& rStrm, const XclGuid& rGuid );
 // Excel Tools ================================================================
 
 /** This class contains static helper methods for the Excel import and export filters. */
-class XclTools : boost::noncopyable
+class XclTools : private boost::noncopyable
 {
 public:
     // GUID's -----------------------------------------------------------------
diff --git a/sc/source/filter/oox/formulabuffer.cxx b/sc/source/filter/oox/formulabuffer.cxx
index 4e82ea6..ba14600 100644
--- a/sc/source/filter/oox/formulabuffer.cxx
+++ b/sc/source/filter/oox/formulabuffer.cxx
@@ -47,7 +47,7 @@ namespace {
  * Cache the token array for the last cell position in each column. We use
  * one cache per sheet.
  */
-class CachedTokenArray : boost::noncopyable
+class CachedTokenArray : private boost::noncopyable
 {
 public:
 
diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx
index 27bee11..ec76d54 100644
--- a/sc/source/filter/oox/workbookhelper.cxx
+++ b/sc/source/filter/oox/workbookhelper.cxx
@@ -110,7 +110,7 @@ bool IgnoreCaseCompare::operator()( const OUString& rName1, const OUString& rNam
     return rName1.compareToIgnoreAsciiCase(rName2 ) < 0;
 }
 
-class WorkbookGlobals : boost::noncopyable
+class WorkbookGlobals : private boost::noncopyable
 {
 public:
     explicit            WorkbookGlobals( ExcelFilter& rFilter );
diff --git a/sc/source/filter/xml/XMLExportIterator.hxx b/sc/source/filter/xml/XMLExportIterator.hxx
index 1036136..379760f 100644
--- a/sc/source/filter/xml/XMLExportIterator.hxx
+++ b/sc/source/filter/xml/XMLExportIterator.hxx
@@ -315,7 +315,7 @@ struct ScMyCell
                                 ~ScMyCell();
 };
 
-class ScMyNotEmptyCellsIterator : boost::noncopyable
+class ScMyNotEmptyCellsIterator : private boost::noncopyable
 {
     css::uno::Reference<css::sheet::XSpreadsheet> xTable;
     css::uno::Reference<css::table::XCellRange> xCellRange;
diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx
index 882f1f0..0432301 100644
--- a/sc/source/filter/xml/xmlimprt.hxx
+++ b/sc/source/filter/xml/xmlimprt.hxx
@@ -820,7 +820,7 @@ typedef std::vector<ScMyImportValidation>           ScMyImportValidations;
 class ScMyStylesImportHelper;
 class ScXMLEditAttributeMap;
 
-class ScXMLImport: public SvXMLImport, boost::noncopyable
+class ScXMLImport: public SvXMLImport, private boost::noncopyable
 {
     typedef std::unordered_map< OUString, sal_Int16, OUStringHash >   CellTypeMap;
     typedef ::std::map<SCTAB, std::unique_ptr<ScMyNamedExpressions>> SheetNamedExpMap;
diff --git a/sc/source/ui/inc/datastream.hxx b/sc/source/ui/inc/datastream.hxx
index 4832364..cf9b93d 100644
--- a/sc/source/ui/inc/datastream.hxx
+++ b/sc/source/ui/inc/datastream.hxx
@@ -33,7 +33,7 @@ namespace datastreams {
     class ReaderThread;
 }
 
-class DataStream : boost::noncopyable
+class DataStream : private boost::noncopyable
 {
 public:
     struct Cell
diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx
index 5298683..f643b64 100644
--- a/sc/source/ui/inc/inputhdl.hxx
+++ b/sc/source/ui/inc/inputhdl.hxx
@@ -52,7 +52,7 @@ struct ESelection;
 
 //  ScInputHandler
 
-class ScInputHandler : boost::noncopyable
+class ScInputHandler : private boost::noncopyable
 {
 private:
     VclPtr<ScInputWindow>          pInputWin;
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index ddc89ee..3b0c909 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -80,7 +80,7 @@ public:
     virtual void    DataChanged( const DataChangedEvent& rDCEvt ) override;
 };
 
-class ScTabView : boost::noncopyable
+class ScTabView : private boost::noncopyable
 {
 private:
     enum BlockMode { None = 0, Normal = 1, Own = 2 };
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index 6730559..8bd6ebc 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -426,7 +426,7 @@ vector<ScTokenRef> Chart2PositionMap::getDataRowRanges(SCROW nRow) const
  * Designed to be a drop-in replacement for ScChartPositioner, in order to
  * handle external references.
  */
-class Chart2Positioner : boost::noncopyable
+class Chart2Positioner : private boost::noncopyable
 {
     enum GlueType
     {
diff --git a/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx b/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
index 063aec3a..4917321 100644
--- a/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
+++ b/sd/source/ui/framework/configuration/ConfigurationControllerResourceManager.hxx
@@ -38,7 +38,7 @@ class ResourceFactoryManager;
 /** Manage the set of active resources.  Activate and deactivate resources.
 */
 class ConfigurationControllerResourceManager
-    : ::boost::noncopyable
+    : private ::boost::noncopyable
 {
 public:
     /** For every active resource both the resource itself as well as its
diff --git a/sdext/source/presenter/PresenterCanvasHelper.hxx b/sdext/source/presenter/PresenterCanvasHelper.hxx
index 35a813e..5b66623 100644
--- a/sdext/source/presenter/PresenterCanvasHelper.hxx
+++ b/sdext/source/presenter/PresenterCanvasHelper.hxx
@@ -35,7 +35,7 @@ namespace sdext { namespace presenter {
 /** Collection of functions to ease the life of a canvas user.
 */
 class PresenterCanvasHelper
-    : ::boost::noncopyable
+    : private ::boost::noncopyable
 {
 public:
     PresenterCanvasHelper();
diff --git a/sdext/source/presenter/PresenterSlideSorter.cxx b/sdext/source/presenter/PresenterSlideSorter.cxx
index ad7d6a4..1df8d94 100644
--- a/sdext/source/presenter/PresenterSlideSorter.cxx
+++ b/sdext/source/presenter/PresenterSlideSorter.cxx
@@ -135,7 +135,7 @@ private:
 //==== PresenterSlideSorter::MouseOverManager =================================
 
 class PresenterSlideSorter::MouseOverManager
-    : ::boost::noncopyable
+    : private ::boost::noncopyable
 {
 public:
     MouseOverManager (
diff --git a/sdext/source/presenter/PresenterUIPainter.hxx b/sdext/source/presenter/PresenterUIPainter.hxx
index c146148..df1bf11 100644
--- a/sdext/source/presenter/PresenterUIPainter.hxx
+++ b/sdext/source/presenter/PresenterUIPainter.hxx
@@ -31,7 +31,7 @@ namespace sdext { namespace presenter {
 /** Functions for painting UI elements.
 */
 class PresenterUIPainter
-    : ::boost::noncopyable
+    : private ::boost::noncopyable
 {
 public:
     PresenterUIPainter();
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index bbca970..6c827dd 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -166,7 +166,7 @@ bool IsLockingUsed()
 
 } // anonymous namespace
 
-class SfxMedium_Impl : boost::noncopyable
+class SfxMedium_Impl : private boost::noncopyable
 {
 public:
     StreamMode m_nStorOpenMode;
diff --git a/slideshow/source/inc/screenupdater.hxx b/slideshow/source/inc/screenupdater.hxx
index 2fbf426..85075e8 100644
--- a/slideshow/source/inc/screenupdater.hxx
+++ b/slideshow/source/inc/screenupdater.hxx
@@ -42,7 +42,7 @@ namespace slideshow
             objects report any pending update, commitUpdates() does
             nothing.
          */
-        class ScreenUpdater : boost::noncopyable
+        class ScreenUpdater : private boost::noncopyable
         {
         public:
             explicit ScreenUpdater( UnoViewContainer const& rViewContainer );
diff --git a/svx/inc/AccessibleTableShape.hxx b/svx/inc/AccessibleTableShape.hxx
index 68ce6eb..ea152b5 100644
--- a/svx/inc/AccessibleTableShape.hxx
+++ b/svx/inc/AccessibleTableShape.hxx
@@ -51,7 +51,7 @@ namespace accessibility
                                           > AccessibleTableShape_Base;
 /** @descr
 */
-class AccessibleTableShape : boost::noncopyable, public AccessibleTableShape_Base, public css::accessibility::XAccessibleTableSelection
+class AccessibleTableShape : private boost::noncopyable, public AccessibleTableShape_Base, public css::accessibility::XAccessibleTableSelection
 {
 public:
     AccessibleTableShape( const AccessibleShapeInfo& rShapeInfo, const AccessibleShapeTreeInfo& rShapeTreeInfo );
@@ -159,7 +159,7 @@ typedef ::cppu::WeakImplHelper<
             css::accessibility::XAccessibleTableSelection >
             AccessibleTableHeaderShape_BASE;
 
-class AccessibleTableHeaderShape : boost::noncopyable,
+class AccessibleTableHeaderShape : private boost::noncopyable,
     public MutexOwner,
     public AccessibleTableHeaderShape_BASE
 {
diff --git a/svx/source/table/accessiblecell.hxx b/svx/source/table/accessiblecell.hxx
index 8e51491..12e61c3 100644
--- a/svx/source/table/accessiblecell.hxx
+++ b/svx/source/table/accessiblecell.hxx
@@ -48,7 +48,7 @@ class AccessibleShapeTreeInfo;
 
 typedef ::cppu::ImplInheritanceHelper< AccessibleContextBase, css::accessibility::XAccessibleExtendedComponent > AccessibleCellBase;
 
-class AccessibleCell : boost::noncopyable, public AccessibleCellBase, public AccessibleComponentBase, public IAccessibleViewForwarderListener
+class AccessibleCell : private boost::noncopyable, public AccessibleCellBase, public AccessibleComponentBase, public IAccessibleViewForwarderListener
 {
 public:
     AccessibleCell( const css::uno::Reference< css::accessibility::XAccessible>& rxParent, const sdr::table::CellRef& rCell, sal_Int32 nIndex, const AccessibleShapeTreeInfo& rShapeTreeInfo);
diff --git a/sw/inc/calbck.hxx b/sw/inc/calbck.hxx
index 3df1f69..c0c2608 100644
--- a/sw/inc/calbck.hxx
+++ b/sw/inc/calbck.hxx
@@ -72,7 +72,7 @@ namespace sw
         const SfxPoolItem* m_pNew;
     };
     /// refactoring out the some of the more sane SwClient functionality
-    class SW_DLLPUBLIC WriterListener : ::boost::noncopyable
+    class SW_DLLPUBLIC WriterListener : private ::boost::noncopyable
     {
         friend class ::SwModify;
         friend class ::sw::ClientIteratorBase;
diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx
index 9ba7ebd..59ee442 100644
--- a/sw/source/core/doc/tblafmt.cxx
+++ b/sw/source/core/doc/tblafmt.cxx
@@ -130,7 +130,7 @@ namespace
 
     See also: BeginSwBlock and EndSwBlock.
     */
-    class WriterSpecificAutoFormatBlock : ::boost::noncopyable
+    class WriterSpecificAutoFormatBlock : private ::boost::noncopyable
     {
     public:
         explicit WriterSpecificAutoFormatBlock(SvStream &rStream) : _rStream(rStream)
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 2dae492..b605c02 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -439,7 +439,7 @@ OUString BasicProjImportHelper::getProjectName()
     return sProjName;
 }
 
-class Sttb : TBBase, private boost::noncopyable
+class Sttb : public TBBase, private boost::noncopyable
 {
 struct SBBItem
 {
diff --git a/writerperfect/source/common/WPXSvInputStream.cxx b/writerperfect/source/common/WPXSvInputStream.cxx
index e547b86..c95076f 100644
--- a/writerperfect/source/common/WPXSvInputStream.cxx
+++ b/writerperfect/source/common/WPXSvInputStream.cxx
@@ -42,7 +42,7 @@ namespace packages = com::sun::star::packages;
 namespace
 {
 
-class PositionHolder : boost::noncopyable
+class PositionHolder : private boost::noncopyable
 {
 public:
     explicit PositionHolder(const Reference<XSeekable> &rxSeekable);


More information about the Libreoffice-commits mailing list