[Libreoffice-commits] .: sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Fri Nov 19 17:20:34 PST 2010


 sc/source/filter/excel/excdoc.cxx            |    5 
 sc/source/filter/excel/xechart.cxx           |   46 +++---
 sc/source/filter/excel/xeescher.cxx          |   13 +
 sc/source/filter/excel/xeformula.cxx         |    8 -
 sc/source/filter/excel/xehelper.cxx          |    4 
 sc/source/filter/excel/xelink.cxx            |   22 +--
 sc/source/filter/excel/xename.cxx            |   10 -
 sc/source/filter/excel/xepivot.cxx           |    4 
 sc/source/filter/excel/xestream.cxx          |    2 
 sc/source/filter/excel/xestyle.cxx           |    8 -
 sc/source/filter/excel/xetable.cxx           |   20 +-
 sc/source/filter/excel/xichart.cxx           |  184 +++++++++++++--------------
 sc/source/filter/excel/xicontent.cxx         |    4 
 sc/source/filter/excel/xiescher.cxx          |   33 ++--
 sc/source/filter/excel/xipivot.cxx           |   12 -
 sc/source/filter/excel/xistream.cxx          |    6 
 sc/source/filter/excel/xistyle.cxx           |    2 
 sc/source/filter/excel/xlchart.cxx           |    2 
 sc/source/filter/excel/xlformula.cxx         |    2 
 sc/source/filter/inc/excdoc.hxx              |    3 
 sc/source/filter/inc/excrecds.hxx            |    3 
 sc/source/filter/inc/ftools.hxx              |   83 ------------
 sc/source/filter/inc/imp_op.hxx              |    5 
 sc/source/filter/inc/xechart.hxx             |   67 ++++-----
 sc/source/filter/inc/xeescher.hxx            |   17 +-
 sc/source/filter/inc/xeformula.hxx           |    3 
 sc/source/filter/inc/xehelper.hxx            |    3 
 sc/source/filter/inc/xelink.hxx              |    3 
 sc/source/filter/inc/xename.hxx              |    3 
 sc/source/filter/inc/xerecord.hxx            |    3 
 sc/source/filter/inc/xeroot.hxx              |   35 ++---
 sc/source/filter/inc/xestream.hxx            |    2 
 sc/source/filter/inc/xestyle.hxx             |    3 
 sc/source/filter/inc/xetable.hxx             |   20 +-
 sc/source/filter/inc/xichart.hxx             |   89 ++++++-------
 sc/source/filter/inc/xiescher.hxx            |   29 ++--
 sc/source/filter/inc/xiformula.hxx           |    3 
 sc/source/filter/inc/xihelper.hxx            |    3 
 sc/source/filter/inc/xipivot.hxx             |   13 +
 sc/source/filter/inc/xiroot.hxx              |   47 +++---
 sc/source/filter/inc/xistream.hxx            |    3 
 sc/source/filter/inc/xistyle.hxx             |    9 -
 sc/source/filter/inc/xlchart.hxx             |   11 -
 sc/source/filter/inc/xlformula.hxx           |    3 
 sc/source/filter/inc/xlroot.hxx              |   17 +-
 sc/source/filter/inc/xlview.hxx              |    3 
 sc/source/filter/xcl97/XclExpChangeTrack.cxx |    2 
 47 files changed, 412 insertions(+), 460 deletions(-)

New commits:
commit 0b2d574d197ac53e8d3b82515e0fa98dfda662fe
Author: Nigel Hawkins <nigel.hawkins at inmail24.com>
Date:   Fri Nov 19 20:20:07 2010 -0500

    Replace ScfRef with boost::shared_ptr in calc filter code.

diff --git a/sc/source/filter/excel/excdoc.cxx b/sc/source/filter/excel/excdoc.cxx
index 6d84808..bd6d824 100644
--- a/sc/source/filter/excel/excdoc.cxx
+++ b/sc/source/filter/excel/excdoc.cxx
@@ -88,6 +88,7 @@
 #include <com/sun/star/document/XDocumentProperties.hpp>
 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
 #include <oox/core/tokens.hxx>
+#include <boost/shared_ptr.hpp>
 
 using ::rtl::OString;
 
@@ -439,7 +440,7 @@ void ExcTable::FillAsTable( SCTAB nCodeNameIdx )
 
 
     // WSBOOL needs data from page settings, create it here, add it later
-    ScfRef< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
+    boost::shared_ptr< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
     bool bFitToPages = xPageSett->GetPageData().mbFitToPages;
 
     if( eBiff <= EXC_BIFF5 )
@@ -548,7 +549,7 @@ void ExcTable::FillAsXmlTable( SCTAB nCodeNameIdx )
     RootData& rR = GetOldRoot();
 
     // WSBOOL needs data from page settings, create it here, add it later
-    ScfRef< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
+    boost::shared_ptr< XclExpPageSettings > xPageSett( new XclExpPageSettings( GetRoot() ) );
     bool bFitToPages = xPageSett->GetPageData().mbFitToPages;
 
     Add( new ExcBof8 );
diff --git a/sc/source/filter/excel/xechart.cxx b/sc/source/filter/excel/xechart.cxx
index dd54764..4a66cad 100644
--- a/sc/source/filter/excel/xechart.cxx
+++ b/sc/source/filter/excel/xechart.cxx
@@ -134,7 +134,7 @@ XclExpStream& operator<<( XclExpStream& rStrm, const XclChRectangle& rRect )
 
 inline void lclSaveRecord( XclExpStream& rStrm, XclExpRecordRef xRec )
 {
-    if( xRec.is() )
+    if( xRec )
         xRec->Save( rStrm );
 }
 
@@ -142,7 +142,7 @@ inline void lclSaveRecord( XclExpStream& rStrm, XclExpRecordRef xRec )
 template< typename Type >
 void lclSaveRecord( XclExpStream& rStrm, XclExpRecordRef xRec, sal_uInt16 nRecId, Type nValue )
 {
-    if( xRec.is() )
+    if( xRec )
     {
         XclExpValueRecord< Type >( nRecId, nValue ).Save( rStrm );
         xRec->Save( rStrm );
@@ -639,12 +639,12 @@ void XclExpChEscherFormat::Convert( const ScfPropertySet& rPropSet, XclChObjectT
 
 bool XclExpChEscherFormat::IsValid() const
 {
-    return maData.mxEscherSet.is();
+    return maData.mxEscherSet;
 }
 
 void XclExpChEscherFormat::Save( XclExpStream& rStrm )
 {
-    if( maData.mxEscherSet.is() )
+    if( maData.mxEscherSet )
     {
         // replace RGB colors with palette indexes in the Escher container
         const XclExpPalette& rPal = GetPalette();
@@ -672,7 +672,7 @@ void XclExpChEscherFormat::WriteSubRecords( XclExpStream& rStrm )
 sal_uInt32 XclExpChEscherFormat::RegisterColor( sal_uInt16 nPropId )
 {
     sal_uInt32 nBGRValue;
-    if( maData.mxEscherSet.is() && maData.mxEscherSet->GetOpt( nPropId, nBGRValue ) )
+    if( maData.mxEscherSet && maData.mxEscherSet->GetOpt( nPropId, nBGRValue ) )
     {
         // swap red and blue
         Color aColor( RGB_COLORDATA(
@@ -1020,7 +1020,7 @@ void XclExpChSourceLink::ConvertNumFmt( const ScfPropertySet& rPropSet, bool bPe
 
 void XclExpChSourceLink::AppendString( const String& rStr )
 {
-    if (!mxString.is())
+    if (!mxString)
         return;
     XclExpStringHelper::AppendString( *mxString, GetRoot(), rStr );
 }
@@ -1028,7 +1028,7 @@ void XclExpChSourceLink::AppendString( const String& rStr )
 void XclExpChSourceLink::Save( XclExpStream& rStrm )
 {
     // CHFORMATRUNS record
-    if( mxString.is() && mxString->IsRich() )
+    if( mxString && mxString->IsRich() )
     {
         sal_Size nRecSize = (1 + mxString->GetFormatsCount()) * ((GetBiff() == EXC_BIFF8) ? 2 : 1);
         rStrm.StartRecord( EXC_ID_CHFORMATRUNS, nRecSize );
@@ -1038,7 +1038,7 @@ void XclExpChSourceLink::Save( XclExpStream& rStrm )
     // CHSOURCELINK record
     XclExpRecord::Save( rStrm );
     // CHSTRING record
-    if( mxString.is() && !mxString->IsEmpty() )
+    if( mxString && !mxString->IsEmpty() )
     {
         rStrm.StartRecord( EXC_ID_CHSTRING, 2 + mxString->GetSize() );
         rStrm << sal_uInt16( 0 ) << *mxString;
@@ -1861,7 +1861,7 @@ bool XclExpChSeries::ConvertDataSeries(
             maData.mnCategCount = mxCategLink->ConvertDataSequence( xXValueSeq, false, maData.mnValueCount );
 
             // size values of bubble charts
-            if( mxBubbleLink.is() )
+            if( mxBubbleLink )
                 mxBubbleLink->ConvertDataSequence( xBubbleSeq, false, maData.mnValueCount );
 
             // series formatting
@@ -2042,7 +2042,7 @@ void XclExpChSeries::CreateTrendLines( XDataSeriesRef xDataSeries )
         for( const Reference< XRegressionCurve >* pIt = pBeg; pIt != pEnd; ++pIt )
         {
             XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
-            if( xSeries.is() && !xSeries->ConvertTrendLine( *this, *pIt ) )
+            if( xSeries && !xSeries->ConvertTrendLine( *this, *pIt ) )
                 GetChartData().RemoveLastSeries();
         }
     }
@@ -2066,7 +2066,7 @@ void XclExpChSeries::CreateErrorBar( const ScfPropertySet& rPropSet,
     if( rPropSet.GetBoolProperty( rShowPropName ) )
     {
         XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
-        if( xSeries.is() && !xSeries->ConvertErrorBar( *this, rPropSet, nBarId ) )
+        if( xSeries && !xSeries->ConvertErrorBar( *this, rPropSet, nBarId ) )
             GetChartData().RemoveLastSeries();
     }
 }
@@ -2486,7 +2486,7 @@ void XclExpChTypeGroup::CreateDataSeries(
 {
     // let chart create series object with correct series index
     XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
-    if( xSeries.is() )
+    if( xSeries )
     {
         if( xSeries->ConvertDataSeries( xDiagram, xDataSeries, maTypeInfo, GetGroupIdx(), GetFreeFormatIdx() ) )
             maSeries.AppendRecord( xSeries );
@@ -2538,7 +2538,7 @@ bool XclExpChTypeGroup::CreateStockSeries( Reference< XDataSeries > xDataSeries,
     bool bOk = false;
     // let chart create series object with correct series index
     XclExpChSeriesRef xSeries = GetChartData().CreateSeries();
-    if( xSeries.is() )
+    if( xSeries )
     {
         bOk = xSeries->ConvertStockSeries( xDataSeries,
             rValueRole, GetGroupIdx(), GetFreeFormatIdx(), bCloseSymbol );
@@ -2794,13 +2794,13 @@ XclExpChAxis::XclExpChAxis( const XclExpChRoot& rRoot, sal_uInt16 nAxisType ) :
 void XclExpChAxis::SetFont( XclExpChFontRef xFont, const Color& rColor, sal_uInt32 nColorId )
 {
     mxFont = xFont;
-    if( mxTick.is() )
+    if( mxTick )
         mxTick->SetFontColor( rColor, nColorId );
 }
 
 void XclExpChAxis::SetRotation( sal_uInt16 nRotation )
 {
-    if( mxTick.is() )
+    if( mxTick )
         mxTick->SetRotation( nRotation );
 }
 
@@ -2986,7 +2986,7 @@ sal_uInt16 XclExpChAxesSet::Convert( Reference< XDiagram > xDiagram, sal_uInt16
                         chart with existing type groups, insert all series into last
                         contained chart type group instead of creating a new group. */
                     XclExpChTypeGroupRef xLastGroup = GetLastTypeGroup();
-                    if( xLastGroup.is() && !(xTypeGroup->IsCombinable2d() && xLastGroup->IsCombinable2d()) )
+                    if( xLastGroup && !(xTypeGroup->IsCombinable2d() && xLastGroup->IsCombinable2d()) )
                     {
                         xLastGroup->ConvertSeries( xDiagram, *pIt, nApiAxesSetIdx, bPercent, bConnectBars );
                     }
@@ -3041,12 +3041,12 @@ sal_uInt16 XclExpChAxesSet::Convert( Reference< XDiagram > xDiagram, sal_uInt16
     if( xDiagram.is() && (GetAxesSetId() == EXC_CHAXESSET_PRIMARY) )
     {
         XclExpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
-        if( xTypeGroup.is() && xTypeGroup->Is3dWallChart() )
+        if( xTypeGroup && xTypeGroup->Is3dWallChart() )
         {
             // wall/floor formatting (3D charts)
-            if( mxXAxis.is() )
+            if( mxXAxis )
                 mxXAxis->ConvertWall( xDiagram );
-            if( mxYAxis.is() )
+            if( mxYAxis )
                 mxYAxis->ConvertWall( xDiagram );
         }
         else
@@ -3086,7 +3086,7 @@ sal_uInt16 XclExpChAxesSet::Convert( Reference< XDiagram > xDiagram, sal_uInt16
 bool XclExpChAxesSet::Is3dChart() const
 {
     XclExpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
-    return xTypeGroup.is() && xTypeGroup->Is3dChart();
+    return xTypeGroup && xTypeGroup->Is3dChart();
 }
 
 void XclExpChAxesSet::WriteSubRecords( XclExpStream& rStrm )
@@ -3098,7 +3098,7 @@ void XclExpChAxesSet::WriteSubRecords( XclExpStream& rStrm )
     lclSaveRecord( rStrm, mxXAxisTitle );
     lclSaveRecord( rStrm, mxYAxisTitle );
     lclSaveRecord( rStrm, mxZAxisTitle );
-    if( mxPlotFrame.is() )
+    if( mxPlotFrame )
     {
         XclExpEmptyRecord( EXC_ID_CHPLOTFRAME ).Save( rStrm );
         mxPlotFrame->Save( rStrm );
@@ -3245,7 +3245,7 @@ void XclExpChChart::RemoveLastSeries()
 
 void XclExpChChart::SetDataLabel( XclExpChTextRef xText )
 {
-    if( xText.is() )
+    if( xText )
         maLabels.AppendRecord( xText );
 }
 
@@ -3318,7 +3318,7 @@ XclExpChartDrawing::~XclExpChartDrawing()
 
 void XclExpChartDrawing::Save( XclExpStream& rStrm )
 {
-    if( mxObjRecs.is() )
+    if( mxObjRecs )
         mxObjRecs->Save( rStrm );
 }
 
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index 6181118..efebe80 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -89,6 +89,7 @@
 #include <oox/export/drawingml.hxx>
 #include <oox/export/chartexport.hxx>
 #include <oox/export/utils.hxx>
+#include <boost/shared_ptr.hpp>
 
 using ::rtl::OString;
 using ::rtl::OUString;
@@ -1358,7 +1359,7 @@ void XclExpNote::WriteXml( sal_Int32 nAuthorId, XclExpXmlStream& rStrm )
     rComments->writeEscaped( XclXmlUtils::ToOUString( maOrigNoteText ) );
     rComments->endElement ( XML_t );
 #else
-    if( mpNoteContents.is() )
+    if( mpNoteContents )
         mpNoteContents->WriteXml( rStrm );
 #endif
     rComments->endElement( XML_text );
@@ -1411,7 +1412,7 @@ XclMacroHelper::~XclMacroHelper()
 
 void XclMacroHelper::WriteMacroSubRec( XclExpStream& rStrm )
 {
-    if( mxMacroLink.is() )
+    if( mxMacroLink )
         WriteFormulaSubRec( rStrm, EXC_ID_OBJMACRO, *mxMacroLink );
 }
 
@@ -1557,9 +1558,9 @@ XclExpDffAnchorBase* XclExpObjectManager::CreateDffAnchor() const
     return new XclExpDffSheetAnchor( GetRoot() );
 }
 
-ScfRef< XclExpRecordBase > XclExpObjectManager::CreateDrawingGroup()
+boost::shared_ptr< XclExpRecordBase > XclExpObjectManager::CreateDrawingGroup()
 {
-    return ScfRef< XclExpRecordBase >( new XclExpMsoDrawingGroup( *mxEscherEx ) );
+    return boost::shared_ptr< XclExpRecordBase >( new XclExpMsoDrawingGroup( *mxEscherEx ) );
 }
 
 void XclExpObjectManager::StartSheet()
@@ -1567,7 +1568,7 @@ void XclExpObjectManager::StartSheet()
     mxObjList.reset( new XclExpObjList( GetRoot(), *mxEscherEx ) );
 }
 
-ScfRef< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( SdrPage* pSdrPage )
+boost::shared_ptr< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( SdrPage* pSdrPage )
 {
     if( pSdrPage )
         mxEscherEx->AddSdrPage( *pSdrPage );
@@ -1579,7 +1580,7 @@ ScfRef< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( SdrPage* pSdrPag
     return mxObjList;
 }
 
-ScfRef< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const Reference< XShapes >& rxShapes )
+boost::shared_ptr< XclExpRecordBase > XclExpObjectManager::ProcessDrawing( const Reference< XShapes >& rxShapes )
 {
     if( rxShapes.is() )
         mxEscherEx->AddUnoShapes( rxShapes );
diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx
index afa1dd7..9829b2e 100644
--- a/sc/source/filter/excel/xeformula.cxx
+++ b/sc/source/filter/excel/xeformula.cxx
@@ -117,7 +117,7 @@ void XclExpOperandList::AppendOperand( sal_uInt16 nTokPos, XclFuncParamConv eCon
     rConvInfo.mbValType = bValType;
 }
 
-typedef ScfRef< XclExpOperandList > XclExpOperandListRef;
+typedef boost::shared_ptr< XclExpOperandList > XclExpOperandListRef;
 typedef ::std::vector< XclExpOperandListRef > XclExpOperandListVector;
 
 // ----------------------------------------------------------------------------
@@ -279,7 +279,7 @@ static const XclExpCompConfig spConfigTable[] =
 /** Working data of the formula compiler. Used to push onto a stack for recursive calls. */
 struct XclExpCompData
 {
-    typedef ScfRef< ScTokenArray > ScTokenArrayRef;
+    typedef boost::shared_ptr< ScTokenArray > ScTokenArrayRef;
 
     const XclExpCompConfig& mrCfg;          /// Configuration for current formula type.
     ScTokenArrayRef     mxOwnScTokArr;      /// Own clone of a Calc token array.
@@ -479,7 +479,7 @@ private:
     // ------------------------------------------------------------------------
 private:
     typedef ::std::map< XclFormulaType, XclExpCompConfig >  XclExpCompConfigMap;
-    typedef ScfRef< XclExpCompData >                        XclExpCompDataRef;
+    typedef boost::shared_ptr< XclExpCompData >             XclExpCompDataRef;
     typedef ::std::vector< XclExpCompDataRef >              XclExpCompDataVector;
 
     XclExpCompConfigMap maCfgMap;       /// Compiler configuration map for all formula types.
@@ -635,7 +635,7 @@ void XclExpFmlaCompImpl::Init( XclFormulaType eType, const ScTokenArray& rScTokA
         mxData->mpLinkMgr = mxData->mrCfg.mbLocalLinkMgr ? &GetLocalLinkManager() : &GetGlobalLinkManager();
 
         // token array iterator (use cloned token array if present)
-        mxData->maTokArrIt.Init( mxData->mxOwnScTokArr.is() ? *mxData->mxOwnScTokArr : rScTokArr, false );
+        mxData->maTokArrIt.Init( mxData->mxOwnScTokArr ? *mxData->mxOwnScTokArr : rScTokArr, false );
         mxData->mpRefLog = pRefLog;
     }
 }
diff --git a/sc/source/filter/excel/xehelper.cxx b/sc/source/filter/excel/xehelper.cxx
index 335f3d0..b6f3945 100644
--- a/sc/source/filter/excel/xehelper.cxx
+++ b/sc/source/filter/excel/xehelper.cxx
@@ -318,7 +318,7 @@ String XclExpHyperlinkHelper::ProcessUrlField( const SvxURLField& rUrlField )
     if( GetBiff() == EXC_BIFF8 )    // no HLINK records in BIFF2-BIFF7
     {
         // there was/is already a HLINK record
-        mbMultipleUrls = mxLinkRec.is();
+        mbMultipleUrls = mxLinkRec;
 
         mxLinkRec.reset( new XclExpHyperlink( GetRoot(), rUrlField, maScPos ) );
 
@@ -335,7 +335,7 @@ String XclExpHyperlinkHelper::ProcessUrlField( const SvxURLField& rUrlField )
 
 bool XclExpHyperlinkHelper::HasLinkRecord() const
 {
-    return !mbMultipleUrls && mxLinkRec.is();
+    return !mbMultipleUrls && mxLinkRec;
 }
 
 XclExpHyperlinkHelper::XclExpHyperlinkRef XclExpHyperlinkHelper::GetLinkRecord()
diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx
index 041f3ca..deeca44 100644
--- a/sc/source/filter/excel/xelink.cxx
+++ b/sc/source/filter/excel/xelink.cxx
@@ -106,7 +106,7 @@ private:
     virtual void        WriteAddData( XclExpStream& rStrm );
 
 private:
-    typedef ScfRef< XclExpCachedMatrix > XclExpCachedMatRef;
+    typedef boost::shared_ptr< XclExpCachedMatrix > XclExpCachedMatRef;
     XclExpCachedMatRef  mxMatrix;       /// Cached results of the DDE link.
 };
 
@@ -247,7 +247,7 @@ protected:
     void                WriteExtNameBuffer( XclExpStream& rStrm );
 
 private:
-    typedef ScfRef< XclExpExtNameBuffer >   XclExpExtNameBfrRef;
+    typedef boost::shared_ptr< XclExpExtNameBuffer >   XclExpExtNameBfrRef;
     XclExpExtNameBfrRef mxExtNameBfr;   /// List of EXTERNNAME records.
 };
 
@@ -936,7 +936,7 @@ XclExpExtNameDde::XclExpExtNameDde( const XclExpRoot& rRoot,
 
 void XclExpExtNameDde::WriteAddData( XclExpStream& rStrm )
 {
-    if( mxMatrix.is() )
+    if( mxMatrix )
         mxMatrix->Save( rStrm );
 }
 
@@ -1232,7 +1232,7 @@ public:
 bool XclExpCrnList::InsertValue( SCCOL nScCol, SCROW nScRow, const Any& rValue )
 {
     RecordRefType xLastRec = GetLastRecord();
-    if( xLastRec.is() && xLastRec->InsertValue( nScCol, nScRow, rValue ) )
+    if( xLastRec && xLastRec->InsertValue( nScCol, nScRow, rValue ) )
         return true;
     if( GetSize() == SAL_MAX_UINT16 )
         return false;
@@ -1326,7 +1326,7 @@ XclExpExtNameBuffer& XclExpExternSheetBase::GetExtNameBuffer()
 
 void XclExpExternSheetBase::WriteExtNameBuffer( XclExpStream& rStrm )
 {
-    if( mxExtNameBfr.is() )
+    if( mxExtNameBfr )
         mxExtNameBfr->Save( rStrm );
 }
 
@@ -1530,7 +1530,7 @@ void XclExpSupbook::Save( XclExpStream& rStrm )
 const XclExpString* XclExpSupbook::GetTabName( sal_uInt16 nSBTab ) const
 {
     XclExpXctRef xXct = maXctList.GetRecord( nSBTab );
-    return xXct.is() ? &xXct->GetTabName() : 0;
+    return xXct ? &xXct->GetTabName() : 0;
 }
 
 void XclExpSupbook::WriteBody( XclExpStream& rStrm )
@@ -1611,7 +1611,7 @@ XclExpXti XclExpSupbookBuffer::GetXti( sal_uInt16 nFirstXclTab, sal_uInt16 nLast
             pRefLogEntry->mnFirstXclTab = nFirstXclTab;
             pRefLogEntry->mnLastXclTab = nLastXclTab;
             XclExpSupbookRef xSupbook = maSupbookList.GetRecord( aXti.mnSupbook );
-            if( xSupbook.is() )
+            if( xSupbook )
                 xSupbook->FillRefLogEntry( *pRefLogEntry, aXti.mnFirstSBTab, aXti.mnLastSBTab );
         }
     }
@@ -1633,8 +1633,8 @@ void XclExpSupbookBuffer::StoreCellRange( const ScRange& rRange )
     {
         const XclExpSBIndex& rSBIndex = maSBIndexVec[ nXclTab ];
         XclExpSupbookRef xSupbook = maSupbookList.GetRecord( rSBIndex.mnSupbook );
-        DBG_ASSERT( xSupbook.is(), "XclExpSupbookBuffer::StoreCellRange - missing SUPBOOK record" );
-        if( xSupbook.is() )
+        DBG_ASSERT( xSupbook , "XclExpSupbookBuffer::StoreCellRange - missing SUPBOOK record" );
+        if( xSupbook )
             xSupbook->StoreCellRange( rRange, rSBIndex.mnSBTab );
     }
 }
@@ -1874,7 +1874,7 @@ XclExpXti XclExpSupbookBuffer::GetXti( sal_uInt16 nFileId, const String& rTabNam
     {
         pRefLogEntry->mnFirstXclTab = 0;
         pRefLogEntry->mnLastXclTab  = 0;
-        if (xSupbook.is())
+        if (xSupbook)
             xSupbook->FillRefLogEntry(*pRefLogEntry, aXti.mnFirstSBTab, aXti.mnLastSBTab);
     }
 
@@ -1989,7 +1989,7 @@ bool XclExpLinkManagerImpl5::InsertAddIn(
         sal_uInt16& rnExtSheet, sal_uInt16& rnExtName, const String& rName )
 {
     XclExpExtSheetRef xExtSheet = FindInternal( rnExtSheet, EXC_EXTSH_ADDIN );
-    if( xExtSheet.is() )
+    if( xExtSheet )
     {
         rnExtName = xExtSheet->InsertAddIn( rName );
         return rnExtName > 0;
diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx
index 0d2056a..b64c2dc 100644
--- a/sc/source/filter/excel/xename.cxx
+++ b/sc/source/filter/excel/xename.cxx
@@ -293,7 +293,7 @@ void XclExpName::SetSymbol( String sSymbol )
 
 bool XclExpName::IsVolatile() const
 {
-    return mxTokArr.is() && mxTokArr->IsVolatile();
+    return mxTokArr && mxTokArr->IsVolatile();
 }
 
 bool XclExpName::IsHidden() const
@@ -312,7 +312,7 @@ void XclExpName::Save( XclExpStream& rStrm )
 {
     DBG_ASSERT( mxName.is() && (mxName->Len() > 0), "XclExpName::Save - missing name" );
     DBG_ASSERT( !(IsGlobal() && ::get_flag( mnFlags, EXC_NAME_BUILTIN )), "XclExpName::Save - global built-in name" );
-    SetRecSize( 11 + mxName->GetSize() + (mxTokArr.is() ? mxTokArr->GetSize() : 2) );
+    SetRecSize( 11 + mxName->GetSize() + (mxTokArr ? mxTokArr->GetSize() : 2) );
     XclExpRecord::Save( rStrm );
 }
 
@@ -346,7 +346,7 @@ void XclExpName::SaveXml( XclExpXmlStream& rStrm )
 
 void XclExpName::WriteBody( XclExpStream& rStrm )
 {
-    sal_uInt16 nFmlaSize = mxTokArr.is() ? mxTokArr->GetSize() : 0;
+    sal_uInt16 nFmlaSize = mxTokArr ? mxTokArr->GetSize() : 0;
 
     rStrm   << mnFlags                  // flags
             << sal_uInt8( 0 );          // keyboard shortcut
@@ -357,7 +357,7 @@ void XclExpName::WriteBody( XclExpStream& rStrm )
             << sal_uInt32( 0 );         // length of menu/descr/help/status text
     mxName->WriteFlagField( rStrm );    // BIFF8 flag field (no-op in <=BIFF7)
     mxName->WriteBuffer( rStrm );       // character array of the name
-    if( mxTokArr.is() )
+    if( mxTokArr )
         mxTokArr->WriteArray( rStrm );  // token array without size
 }
 
@@ -505,7 +505,7 @@ sal_uInt16 XclExpNameManagerImpl::FindBuiltInNameIdx(
             if( xName->GetBuiltInName() == cBuiltIn )
             {
                 XclTokenArrayRef xTokArr = xName->GetTokenArray();
-                if( xTokArr.is() && (*xTokArr == rTokArr) )
+                if( xTokArr && (*xTokArr == rTokArr) )
                     return static_cast< sal_uInt16 >( nPos + 1 );
             }
         }
diff --git a/sc/source/filter/excel/xepivot.cxx b/sc/source/filter/excel/xepivot.cxx
index 15a41a2..ae4ca1d 100644
--- a/sc/source/filter/excel/xepivot.cxx
+++ b/sc/source/filter/excel/xepivot.cxx
@@ -1685,7 +1685,7 @@ void XclExpPivotTable::WriteSxpi( XclExpStream& rStrm ) const
         for( ScfUInt16Vec::const_iterator aIt = maPageFields.begin(), aEnd = maPageFields.end(); aIt != aEnd; ++aIt )
         {
             XclExpPTFieldRef xField = maFieldList.GetRecord( *aIt );
-            if( xField.is() )
+            if( xField )
                 xField->WriteSxpiEntry( rStrm );
         }
         rStrm.EndRecord();
@@ -1697,7 +1697,7 @@ void XclExpPivotTable::WriteSxdiList( XclExpStream& rStrm ) const
     for( XclPTDataFieldPosVec::const_iterator aIt = maDataFields.begin(), aEnd = maDataFields.end(); aIt != aEnd; ++aIt )
     {
         XclExpPTFieldRef xField = maFieldList.GetRecord( aIt->first );
-        if( xField.is() )
+        if( xField )
             xField->WriteSxdi( rStrm, aIt->second );
     }
 }
diff --git a/sc/source/filter/excel/xestream.cxx b/sc/source/filter/excel/xestream.cxx
index 51d655d..b6d5051 100644
--- a/sc/source/filter/excel/xestream.cxx
+++ b/sc/source/filter/excel/xestream.cxx
@@ -369,7 +369,7 @@ void XclExpStream::SetEncrypter( XclExpEncrypterRef xEncrypter )
 
 bool XclExpStream::HasValidEncrypter() const
 {
-    return mxEncrypter.is() && mxEncrypter->IsValid();
+    return mxEncrypter && mxEncrypter->IsValid();
 }
 
 void XclExpStream::EnableEncryption( bool bEnable )
diff --git a/sc/source/filter/excel/xestyle.cxx b/sc/source/filter/excel/xestyle.cxx
index 00d3410..5d89f15 100644
--- a/sc/source/filter/excel/xestyle.cxx
+++ b/sc/source/filter/excel/xestyle.cxx
@@ -313,10 +313,10 @@ private:
                             const Color& rColor ) const;
 
 private:
-    typedef ScfDelList< XclListColor >          XclListColorList;
-    typedef ScfRef< XclListColorList >          XclListColorListRef;
-    typedef ::std::vector< XclColorIdData >     XclColorIdDataVec;
-    typedef ::std::vector< XclPaletteColor >    XclPaletteColorVec;
+    typedef ScfDelList< XclListColor >            XclListColorList;
+    typedef boost::shared_ptr< XclListColorList > XclListColorListRef;
+    typedef ::std::vector< XclColorIdData >       XclColorIdDataVec;
+    typedef ::std::vector< XclPaletteColor >      XclPaletteColorVec;
 
     const XclDefaultPalette& mrDefPal;      /// The default palette for the current BIFF version.
     XclListColorListRef mxColorList;        /// Working color list.
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx
index df1273f..f9c7ff2 100644
--- a/sc/source/filter/excel/xetable.cxx
+++ b/sc/source/filter/excel/xetable.cxx
@@ -864,7 +864,7 @@ XclExpFormulaCell::XclExpFormulaCell(
 void XclExpFormulaCell::Save( XclExpStream& rStrm )
 {
     // create token array for FORMULA cells with additional record
-    if( mxAddRec.is() )
+    if( mxAddRec )
         mxTokArr = mxAddRec->CreateCellTokenArray( rStrm.GetRoot() );
 
     // FORMULA record itself
@@ -875,11 +875,11 @@ void XclExpFormulaCell::Save( XclExpStream& rStrm )
     XclExpSingleCellBase::Save( rStrm );
 
     // additional record (ARRAY, SHRFMLA, or TABLEOP), only for first FORMULA record
-    if( mxAddRec.is() && mxAddRec->IsBasePos( GetXclCol(), GetXclRow() ) )
+    if( mxAddRec && mxAddRec->IsBasePos( GetXclCol(), GetXclRow() ) )
         mxAddRec->Save( rStrm );
 
     // STRING record for string result
-    if( mxStringRec.is() )
+    if( mxStringRec )
         mxStringRec->Save( rStrm );
 }
 
@@ -899,7 +899,7 @@ void XclExpFormulaCell::SaveXml( XclExpXmlStream& rStrm )
 
     rWorksheet->startElement( XML_f,
             // OOXTODO: XML_t,      ST_CellFormulaType
-            XML_aca,    XclXmlUtils::ToPsz( (mxTokArr.is() && mxTokArr->IsVolatile()) || (mxAddRec.is() && mxAddRec->IsVolatile()) ),
+            XML_aca,    XclXmlUtils::ToPsz( (mxTokArr && mxTokArr->IsVolatile()) || (mxAddRec && mxAddRec->IsVolatile()) ),
             // OOXTODO: XML_ref,    ST_Ref
             // OOXTODO: XML_dt2D,   bool
             // OOXTODO: XML_dtr,    bool
@@ -979,8 +979,8 @@ void XclExpFormulaCell::WriteContents( XclExpStream& rStrm )
 
     // flags and formula token array
     sal_uInt16 nFlags = EXC_FORMULA_DEFAULTFLAGS;
-    ::set_flag( nFlags, EXC_FORMULA_RECALC_ALWAYS, mxTokArr->IsVolatile() || (mxAddRec.is() && mxAddRec->IsVolatile()) );
-    ::set_flag( nFlags, EXC_FORMULA_SHARED, mxAddRec.is() && (mxAddRec->GetRecId() == EXC_ID_SHRFMLA) );
+    ::set_flag( nFlags, EXC_FORMULA_RECALC_ALWAYS, mxTokArr->IsVolatile() || (mxAddRec && mxAddRec->IsVolatile()) );
+    ::set_flag( nFlags, EXC_FORMULA_SHARED, mxAddRec && (mxAddRec->GetRecId() == EXC_ID_SHRFMLA) );
     rStrm << nFlags << sal_uInt32( 0 ) << *mxTokArr;
 }
 
@@ -1946,7 +1946,7 @@ void XclExpRow::InsertCell( XclExpCellRef xCell, size_t nPos, bool bIsMergedBase
 
     // try to merge with previous cell, insert the new cell if not successful
     XclExpCellRef xPrevCell = maCellList.GetRecord( nPos - 1 );
-    if( xPrevCell.is() && xPrevCell->TryMerge( *xCell ) )
+    if( xPrevCell && xPrevCell->TryMerge( *xCell ) )
         xCell = xPrevCell;
     else
         maCellList.InsertRecord( xCell, nPos++ );
@@ -1954,7 +1954,7 @@ void XclExpRow::InsertCell( XclExpCellRef xCell, size_t nPos, bool bIsMergedBase
 
     // try to merge with following cell, remove it if successful
     XclExpCellRef xNextCell = maCellList.GetRecord( nPos );
-    if( xNextCell.is() && xCell->TryMerge( *xNextCell ) )
+    if( xNextCell && xCell->TryMerge( *xNextCell ) )
         maCellList.RemoveRecord( nPos );
 }
 
@@ -2339,7 +2339,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) :
         }
 
         // insert the cell into the current row
-        if( xCell.is() )
+        if( xCell )
             maRowBfr.AppendCell( xCell, bIsMergedBase );
 
         // notes
@@ -2359,7 +2359,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) :
                 ScRange aScRange( aScPos );
                 aScRange.aEnd.IncCol( rMergeItem.GetColMerge() - 1 );
                 aScRange.aEnd.IncRow( rMergeItem.GetRowMerge() - 1 );
-                sal_uInt32 nXFId = xCell.is() ? xCell->GetFirstXFId() : EXC_XFID_NOTFOUND;
+                sal_uInt32 nXFId = xCell ? xCell->GetFirstXFId() : EXC_XFID_NOTFOUND;
                 // #120156# blank cells merged vertically may occur repeatedly
                 DBG_ASSERT( (aScRange.aStart.Col() == aScRange.aEnd.Col()) || (nScCol == nLastScCol),
                     "XclExpCellTable::XclExpCellTable - invalid repeated blank merged cell" );
diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx
index 19374ea..219009a 100644
--- a/sc/source/filter/excel/xichart.cxx
+++ b/sc/source/filter/excel/xichart.cxx
@@ -559,7 +559,7 @@ void XclImpChFrameBase::ReadSubRecord( XclImpStream& rStrm )
 void XclImpChFrameBase::ConvertLineBase( const XclImpChRoot& rRoot,
         ScfPropertySet& rPropSet, XclChObjectType eObjType, sal_uInt16 nFormatIdx ) const
 {
-    if( mxLineFmt.is() )
+    if( mxLineFmt )
         mxLineFmt->Convert( rRoot, rPropSet, eObjType, nFormatIdx );
 }
 
@@ -569,9 +569,9 @@ void XclImpChFrameBase::ConvertAreaBase( const XclImpChRoot& rRoot,
     if( rRoot.GetFormatInfo( eObjType ).mbIsFrame )
     {
         // CHESCHERFORMAT overrides CHAREAFORMAT (even if it is auto)
-        if( mxEscherFmt.is() )
+        if( mxEscherFmt )
             mxEscherFmt->Convert( rRoot, rPropSet, eObjType );
-        else if( mxAreaFmt.is() )
+        else if( mxAreaFmt )
             mxAreaFmt->Convert( rRoot, rPropSet, eObjType, nFormatIdx );
     }
 }
@@ -659,7 +659,7 @@ Reference< XLabeledDataSequence > lclCreateLabeledDataSequence(
 {
     // create data sequence for values and title
     Reference< XDataSequence > xValueSeq;
-    if( xValueLink.is() )
+    if( xValueLink )
         xValueSeq = xValueLink->CreateDataSequence( rValueRole );
     Reference< XDataSequence > xTitleSeq;
     if( pTitleLink )
@@ -729,14 +729,14 @@ void XclImpChSourceLink::SetString( const String& rString )
 
 void XclImpChSourceLink::SetTextFormats( const XclFormatRunVec& rFormats )
 {
-    if( mxString.is() )
+    if( mxString )
         mxString->SetFormats( rFormats );
 }
 
 sal_uInt16 XclImpChSourceLink::GetCellCount() const
 {
     sal_uInt32 nCellCount = 0;
-    if( mxTokenArray.is() )
+    if( mxTokenArray )
     {
         mxTokenArray->Reset();
         for( const FormulaToken* pToken = mxTokenArray->First(); pToken; pToken = mxTokenArray->Next() )
@@ -784,7 +784,7 @@ Reference< XDataSequence > XclImpChSourceLink::CreateDataSequence( const OUStrin
 {
     Reference< XDataSequence > xDataSeq;
     Reference< XDataProvider > xDataProv = GetDataProvider();
-    if( xDataProv.is() && mxTokenArray.is() )
+    if( xDataProv.is() && mxTokenArray )
     {
         ScCompiler aComp( GetDocPtr(), ScAddress(), *mxTokenArray );
         aComp.SetGrammar( ::formula::FormulaGrammar::GRAM_ENGLISH );
@@ -809,7 +809,7 @@ Sequence< Reference< XFormattedString > > XclImpChSourceLink::CreateStringSequen
         const XclImpChRoot& rRoot, sal_uInt16 nLeadFontIdx, const Color& rLeadFontColor ) const
 {
     ::std::vector< Reference< XFormattedString > > aStringVec;
-    if( mxString.is() )
+    if( mxString )
     {
         for( XclImpStringIterator aIt( *mxString ); aIt.Is(); ++aIt )
         {
@@ -839,7 +839,7 @@ Sequence< Reference< XFormattedString > > XclImpChSourceLink::CreateStringSequen
 
 void XclImpChSourceLink::FillSourceLink( ::std::vector< ScSharedTokenRef >& rTokens ) const
 {
-    if( !mxTokenArray.is() )
+    if( !mxTokenArray )
         // no links to fill.
         return;
 
@@ -944,7 +944,7 @@ void XclImpChText::ReadSubRecord( XclImpStream& rStrm )
             ReadChFrLabelProps( rStrm );
         break;
         case EXC_ID_CHEND:
-            if( mxSrcLink.is() && !maFormats.empty() )
+            if( mxSrcLink && !maFormats.empty() )
                 mxSrcLink->SetTextFormats( maFormats );
         break;
     }
@@ -952,7 +952,7 @@ void XclImpChText::ReadSubRecord( XclImpStream& rStrm )
 
 sal_uInt16 XclImpChText::GetFontIndex() const
 {
-    return mxFont.is() ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
+    return mxFont ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
 }
 
 Color XclImpChText::GetFontColor() const
@@ -1010,24 +1010,24 @@ void XclImpChText::ConvertRotation( ScfPropertySet& rPropSet, bool bSupportsStac
 
 void XclImpChText::ConvertFrame( ScfPropertySet& rPropSet ) const
 {
-    if( mxFrame.is() )
+    if( mxFrame )
         mxFrame->Convert( rPropSet );
 }
 
 void XclImpChText::ConvertNumFmt( ScfPropertySet& rPropSet, bool bPercent ) const
 {
-    if( mxSrcLink.is() )
+    if( mxSrcLink )
         mxSrcLink->ConvertNumFmt( rPropSet, bPercent );
 }
 
 void XclImpChText::ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeInfo& rTypeInfo ) const
 {
     // existing CHFRLABELPROPS record wins over flags from CHTEXT
-    sal_uInt16 nShowFlags = mxLabelProps.is() ? mxLabelProps->mnFlags : maData.mnFlags;
-    sal_uInt16 SHOWANYCATEG   = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWCATEG : (EXC_CHTEXT_SHOWCATEGPERC | EXC_CHTEXT_SHOWCATEG);
-    sal_uInt16 SHOWANYVALUE   = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWVALUE : EXC_CHTEXT_SHOWVALUE;
-    sal_uInt16 SHOWANYPERCENT = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWPERCENT : (EXC_CHTEXT_SHOWPERCENT | EXC_CHTEXT_SHOWCATEGPERC);
-    sal_uInt16 SHOWANYBUBBLE  = mxLabelProps.is() ? EXC_CHFRLABELPROPS_SHOWBUBBLE : EXC_CHTEXT_SHOWBUBBLE;
+    sal_uInt16 nShowFlags = mxLabelProps ? mxLabelProps->mnFlags : maData.mnFlags;
+    sal_uInt16 SHOWANYCATEG   = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWCATEG : (EXC_CHTEXT_SHOWCATEGPERC | EXC_CHTEXT_SHOWCATEG);
+    sal_uInt16 SHOWANYVALUE   = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWVALUE : EXC_CHTEXT_SHOWVALUE;
+    sal_uInt16 SHOWANYPERCENT = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWPERCENT : (EXC_CHTEXT_SHOWPERCENT | EXC_CHTEXT_SHOWCATEGPERC);
+    sal_uInt16 SHOWANYBUBBLE  = mxLabelProps ? EXC_CHFRLABELPROPS_SHOWBUBBLE : EXC_CHTEXT_SHOWBUBBLE;
 
     // get raw flags for label values
     bool bShowNone    = IsDeleted();
@@ -1047,7 +1047,7 @@ void XclImpChText::ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeIn
     // create API struct for label values, set API label separator
     cssc2::DataPointLabel aPointLabel( bShowValue, bShowPercent, bShowCateg, bShowSymbol );
     rPropSet.SetProperty( EXC_CHPROP_LABEL, aPointLabel );
-    String aSep = mxLabelProps.is() ? mxLabelProps->maSeparator : String( sal_Unicode( '\n' ) );
+    String aSep = mxLabelProps ? mxLabelProps->maSeparator : String( sal_Unicode( '\n' ) );
     if( aSep.Len() == 0 )
         aSep = CREATE_STRING( "; " );
     rPropSet.SetStringProperty( EXC_CHPROP_LABELSEPARATOR, aSep );
@@ -1083,7 +1083,7 @@ void XclImpChText::ConvertDataLabel( ScfPropertySet& rPropSet, const XclChTypeIn
 Reference< XTitle > XclImpChText::CreateTitle() const
 {
     Reference< XTitle > xTitle;
-    if( mxSrcLink.is() && mxSrcLink->HasString() )
+    if( mxSrcLink && mxSrcLink->HasString() )
     {
         // create the formatted strings
         Sequence< Reference< XFormattedString > > aStringSeq(
@@ -1179,7 +1179,7 @@ namespace {
 
 void lclUpdateText( XclImpChTextRef& rxText, XclImpChTextRef xDefText )
 {
-    if( rxText.is() )
+    if( rxText )
         rxText->UpdateText( xDefText.get() );
     else
         rxText = xDefText;
@@ -1189,7 +1189,7 @@ void lclFinalizeTitle( XclImpChTextRef& rxTitle, XclImpChTextRef xDefText, const
 {
     /*  Do not update a title, if it is not visible (if rxTitle is null).
         Existing reference indicates enabled title. */
-    if( rxTitle.is() )
+    if( rxTitle )
     {
         if( !rxTitle->HasString() )
             rxTitle->SetString( rAutoTitle );
@@ -1318,7 +1318,7 @@ XclImpChTextRef XclImpChAttachedLabel::CreateDataLabel( XclImpChTextRef xParent
     const sal_uInt16 EXC_CHATTLABEL_SHOWANYPERCENT = EXC_CHATTLABEL_SHOWPERCENT | EXC_CHATTLABEL_SHOWCATEGPERC;
     const sal_uInt16 EXC_CHATTLABEL_SHOWANYCATEG = EXC_CHATTLABEL_SHOWCATEG | EXC_CHATTLABEL_SHOWCATEGPERC;
 
-    XclImpChTextRef xLabel( xParent.is() ? new XclImpChText( *xParent ) : new XclImpChText( GetChRoot() ) );
+    XclImpChTextRef xLabel( xParent ? new XclImpChText( *xParent ) : new XclImpChText( GetChRoot() ) );
     xLabel->UpdateDataLabel(
         ::get_flag( mnFlags, EXC_CHATTLABEL_SHOWANYCATEG ),
         ::get_flag( mnFlags, EXC_CHATTLABEL_SHOWANYVALUE ),
@@ -1468,18 +1468,18 @@ void XclImpChDataFormat::Convert( ScfPropertySet& rPropSet, const XclChExtTypeIn
     ConvertFrameBase( GetChRoot(), rPropSet, rTypeInfo.GetSeriesObjectType(), maData.mnFormatIdx );
 #if EXC_CHART2_3DBAR_HAIRLINES_ONLY
     // #i83151# only hair lines in 3D charts with filled data points
-    if( rTypeInfo.mb3dChart && rTypeInfo.IsSeriesFrameFormat() && mxLineFmt.is() && mxLineFmt->HasLine() )
+    if( rTypeInfo.mb3dChart && rTypeInfo.IsSeriesFrameFormat() && mxLineFmt && mxLineFmt->HasLine() )
         rPropSet.SetProperty< sal_Int32 >( CREATE_OUSTRING( "BorderWidth" ), 0 );
 #endif
 
     // other formatting
-    if( mxMarkerFmt.is() )
+    if( mxMarkerFmt )
         mxMarkerFmt->Convert( GetChRoot(), rPropSet, maData.mnFormatIdx, GetLineWeight() );
-    if( mxPieFmt.is() )
+    if( mxPieFmt )
         mxPieFmt->Convert( rPropSet );
-    if( mx3dDataFmt.is() )
+    if( mx3dDataFmt )
         mx3dDataFmt->Convert( rPropSet );
-    if( mxLabel.is() )
+    if( mxLabel )
         mxLabel->ConvertDataLabel( rPropSet, rTypeInfo );
 
     // 3D settings
@@ -1488,7 +1488,7 @@ void XclImpChDataFormat::Convert( ScfPropertySet& rPropSet, const XclChExtTypeIn
     /*  Special case: set marker color as line color, if series line is not
         visible. This makes the color visible in the marker area.
         TODO: remove this if OOChart supports own colors in markers. */
-    if( !rTypeInfo.IsSeriesFrameFormat() && !HasLine() && mxMarkerFmt.is() )
+    if( !rTypeInfo.IsSeriesFrameFormat() && !HasLine() && mxMarkerFmt )
         mxMarkerFmt->ConvertColor( GetChRoot(), rPropSet, maData.mnFormatIdx );
 }
 
@@ -1527,9 +1527,9 @@ void XclImpChDataFormat::UpdateDataLabel( const XclImpChDataFormat* pParentFmt )
         xDefText = pParentFmt->GetDataLabel();
     if( !xDefText )
         xDefText = GetChartData().GetDefaultText( EXC_CHTEXTTYPE_DATALABEL );
-    if( mxLabel.is() )
+    if( mxLabel )
         mxLabel->UpdateText( xDefText.get() );
-    else if( mxAttLabel.is() )
+    else if( mxAttLabel )
         mxLabel = mxAttLabel->CreateDataLabel( xDefText );
 }
 
@@ -1577,7 +1577,7 @@ Reference< XRegressionCurve > XclImpChSerTrendLine::CreateRegressionCurve() cons
         xRegCurve.set( ScfApiHelper::CreateInstance( aService ), UNO_QUERY );
 
     // trend line formatting
-    if( xRegCurve.is() && mxDataFmt.is() )
+    if( xRegCurve.is() && mxDataFmt )
     {
         ScfPropertySet aPropSet( xRegCurve );
         mxDataFmt->ConvertLine( aPropSet, EXC_CHOBJTYPE_TRENDLINE );
@@ -1699,7 +1699,7 @@ Reference< XPropertySet > XclImpChSerErrorBar::CreateErrorBar( const XclImpChSer
         }
 
         // error bar formatting
-        if( pPrimaryBar->mxDataFmt.is() && xErrorBar.is() )
+        if( pPrimaryBar->mxDataFmt && xErrorBar.is() )
             pPrimaryBar->mxDataFmt->ConvertLine( aBarProp, EXC_CHOBJTYPE_ERRORBAR );
     }
 
@@ -1750,7 +1750,7 @@ void XclImpChSeries::ReadSubRecord( XclImpStream& rStrm )
 
 void XclImpChSeries::SetDataFormat( XclImpChDataFormatRef xDataFmt )
 {
-    if( xDataFmt.is() )
+    if( xDataFmt )
     {
         XclImpChDataFormatRef* pxDataFmt = GetDataFormatRef( xDataFmt->GetPointPos().mnPointIdx );
         // do not overwrite existing data format
@@ -1767,7 +1767,7 @@ void XclImpChSeries::SetDataFormat( XclImpChDataFormatRef xDataFmt )
 
 void XclImpChSeries::SetDataLabel( XclImpChTextRef xLabel )
 {
-    if( xLabel.is() )
+    if( xLabel )
     {
         XclImpChTextRef* pxLabel = GetDataLabelRef( xLabel->GetPointPos().mnPointIdx );
         if( pxLabel && !*pxLabel )
@@ -1796,7 +1796,7 @@ void XclImpChSeries::FinalizeDataFormats()
         if( !mxSeriesFmt )
             mxSeriesFmt = CreateDataFormat( EXC_CHDATAFORMAT_ALLPOINTS, 0 );
 
-        if( mxSeriesFmt.is() )
+        if( mxSeriesFmt )
         {
             // #i83100# set text label format, e.g. for trend line equations
             mxSeriesFmt->SetDataLabel( maLabels.get( EXC_CHDATAFORMAT_ALLPOINTS ) );
@@ -1834,7 +1834,7 @@ void XclImpChSeries::FinalizeDataFormats()
         }
 
         // update series format (copy missing formatting from group default format)
-        if( mxSeriesFmt.is() )
+        if( mxSeriesFmt )
             mxSeriesFmt->UpdateSeriesFormat( pTypeGroup->GetTypeInfo(), pTypeGroup->GetGroupFormat().get() );
 
         // update data point formats (removes unchanged automatic formatting)
@@ -1916,7 +1916,7 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const
 
         // series formatting
         ScfPropertySet aSeriesProp( xDataSeries );
-        if( mxSeriesFmt.is() )
+        if( mxSeriesFmt )
             mxSeriesFmt->Convert( aSeriesProp, rTypeInfo );
 
         // trend lines
@@ -1938,7 +1938,7 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const
         aSeriesProp.SetBoolProperty( EXC_CHPROP_VARYCOLORSBY, rTypeInfo.meTypeCateg == EXC_CHTYPECATEG_PIE );
 #endif
         // #i91271# always set area formatting for every point in pie/doughnut charts
-        if( mxSeriesFmt.is() && ((bVarPointFmt && mxSeriesFmt->IsAutoArea()) || (rTypeInfo.meTypeCateg == EXC_CHTYPECATEG_PIE)) )
+        if( mxSeriesFmt && ((bVarPointFmt && mxSeriesFmt->IsAutoArea()) || (rTypeInfo.meTypeCateg == EXC_CHTYPECATEG_PIE)) )
         {
             for( sal_uInt16 nPointIdx = 0, nPointCount = mxValueLink->GetCellCount(); nPointIdx < nPointCount; ++nPointIdx )
             {
@@ -1959,13 +1959,13 @@ Reference< XDataSeries > XclImpChSeries::CreateDataSeries() const
 
 void XclImpChSeries::FillAllSourceLinks( ::std::vector< ScSharedTokenRef >& rTokens ) const
 {
-    if( mxValueLink.is() )
+    if( mxValueLink )
         mxValueLink->FillSourceLink( rTokens );
-    if( mxCategLink.is() )
+    if( mxCategLink )
         mxCategLink->FillSourceLink( rTokens );
-    if( mxTitleLink.is() )
+    if( mxTitleLink )
         mxTitleLink->FillSourceLink( rTokens );
-    if( mxBubbleLink.is() )
+    if( mxBubbleLink )
         mxBubbleLink->FillSourceLink( rTokens );
 }
 
@@ -2413,10 +2413,10 @@ Reference< XLegend > XclImpChLegend::CreateLegend() const
         aLegendProp.SetBoolProperty( EXC_CHPROP_SHOW, true );
 
         // frame properties
-        if( mxFrame.is() )
+        if( mxFrame )
             mxFrame->Convert( aLegendProp );
         // text properties
-        if( mxText.is() )
+        if( mxText )
             mxText->ConvertFont( aLegendProp );
 
         /*  Legend position and size. Default positions are used only if the
@@ -2438,7 +2438,7 @@ Reference< XLegend > XclImpChLegend::CreateLegend() const
         // no automatic position: try to find the correct position and size
         if( eApiPos == cssc2::LegendPosition_CUSTOM )
         {
-            const XclChFramePos* pFramePos = mxFramePos.is() ? &mxFramePos->GetFramePosData() : 0;
+            const XclChFramePos* pFramePos = mxFramePos ? &mxFramePos->GetFramePosData() : 0;
 
             /*  Legend position. Only the settings from the CHFRAMEPOS record
                 are used by Excel, the position in the CHLEGEND record will be
@@ -2567,20 +2567,20 @@ void XclImpChTypeGroup::Finalize()
     maType.Finalize( bStockChart );
 
     // extended type info
-    maTypeInfo.Set( maType.GetTypeInfo(), mxChart3d.is(), false );
+    maTypeInfo.Set( maType.GetTypeInfo(), mxChart3d, false );
 
     // reverse series order for some unstacked 2D chart types
     if( maTypeInfo.mbReverseSeries && !Is3dChart() && !maType.IsStacked() && !maType.IsPercent() )
         ::std::reverse( maSeries.begin(), maSeries.end() );
 
     // update chart type group format, may depend on chart type finalized above
-    if( mxGroupFmt.is() )
+    if( mxGroupFmt )
         mxGroupFmt->UpdateGroupFormat( maTypeInfo );
 }
 
 void XclImpChTypeGroup::AddSeries( XclImpChSeriesRef xSeries )
 {
-    if( xSeries.is() )
+    if( xSeries )
         maSeries.push_back( xSeries );
     // store first inserted series separately, series order may be reversed later
     if( !mxFirstSeries )
@@ -2613,20 +2613,20 @@ bool XclImpChTypeGroup::HasConnectorLines() const
     // existence of connector lines (only in stacked bar charts)
     bool bAnyStacked = maType.IsStacked() || maType.IsPercent();
     XclImpChLineFormatRef xConnLine = maChartLines.get( EXC_CHCHARTLINE_CONNECT );
-    return bAnyStacked && (maTypeInfo.meTypeCateg == EXC_CHTYPECATEG_BAR) && xConnLine.is() && xConnLine->HasLine();
+    return bAnyStacked && (maTypeInfo.meTypeCateg == EXC_CHTYPECATEG_BAR) && xConnLine && xConnLine->HasLine();
 }
 
 const String& XclImpChTypeGroup::GetSingleSeriesTitle() const
 {
     // no automatic title for series with trendlines or error bars
     // pie charts always show an automatic title, even if more series exist
-    return (mxFirstSeries.is() && !mxFirstSeries->HasChildSeries() && (maTypeInfo.mbSingleSeriesVis || (maSeries.size() == 1))) ?
+    return (mxFirstSeries && !mxFirstSeries->HasChildSeries() && (maTypeInfo.mbSingleSeriesVis || (maSeries.size() == 1))) ?
         mxFirstSeries->GetTitle() : String::EmptyString();
 }
 
 void XclImpChTypeGroup::ConvertChart3d( ScfPropertySet& rPropSet ) const
 {
-    if( mxChart3d.is() )
+    if( mxChart3d )
         mxChart3d->Convert( rPropSet, Is3dWallChart() );
 }
 
@@ -2663,7 +2663,7 @@ Reference< XLabeledDataSequence > XclImpChTypeGroup::CreateCategSequence() const
 {
     Reference< XLabeledDataSequence > xLabeledSeq;
     // create category sequence from first visible series
-    if( mxFirstSeries.is() )
+    if( mxFirstSeries )
         xLabeledSeq = mxFirstSeries->CreateCategSequence( EXC_CHPROP_ROLE_CATEG );
     return xLabeledSeq;
 }
@@ -2793,7 +2793,7 @@ void XclImpChTypeGroup::CreateStockSeries( Reference< XChartType > xChartType, s
         aTypeProp.SetBoolProperty( EXC_CHPROP_SHOWHIGHLOW, true );
         // hi-lo line format
         XclImpChLineFormatRef xHiLoLine = maChartLines.get( EXC_CHCHARTLINE_HILO );
-        if( xHiLoLine.is() )
+        if( xHiLoLine )
         {
             ScfPropertySet aSeriesProp( xDataSeries );
             xHiLoLine->Convert( GetChRoot(), aSeriesProp, EXC_CHOBJTYPE_HILOLINE );
@@ -2801,7 +2801,7 @@ void XclImpChTypeGroup::CreateStockSeries( Reference< XChartType > xChartType, s
         // white dropbar format
         XclImpChDropBarRef xUpBar = maDropBars.get( EXC_CHDROPBAR_UP );
         Reference< XPropertySet > xWhitePropSet;
-        if( xUpBar.is() && aTypeProp.GetProperty( xWhitePropSet, EXC_CHPROP_WHITEDAY ) )
+        if( xUpBar && aTypeProp.GetProperty( xWhitePropSet, EXC_CHPROP_WHITEDAY ) )
         {
             ScfPropertySet aBarProp( xWhitePropSet );
             xUpBar->Convert( GetChRoot(), aBarProp );
@@ -2809,7 +2809,7 @@ void XclImpChTypeGroup::CreateStockSeries( Reference< XChartType > xChartType, s
         // black dropbar format
         XclImpChDropBarRef xDownBar = maDropBars.get( EXC_CHDROPBAR_DOWN );
         Reference< XPropertySet > xBlackPropSet;
-        if( xDownBar.is() && aTypeProp.GetProperty( xBlackPropSet, EXC_CHPROP_BLACKDAY ) )
+        if( xDownBar && aTypeProp.GetProperty( xBlackPropSet, EXC_CHPROP_BLACKDAY ) )
         {
             ScfPropertySet aBarProp( xBlackPropSet );
             xDownBar->Convert( GetChRoot(), aBarProp );
@@ -3065,9 +3065,9 @@ void XclImpChAxis::Finalize()
     if( !mxValueRange )
         mxValueRange.reset( new XclImpChValueRange( GetChRoot() ) );
     // remove invisible grid lines completely
-    if( mxMajorGrid.is() && !mxMajorGrid->HasLine() )
+    if( mxMajorGrid && !mxMajorGrid->HasLine() )
         mxMajorGrid.reset();
-    if( mxMinorGrid.is() && !mxMinorGrid->HasLine() )
+    if( mxMinorGrid && !mxMinorGrid->HasLine() )
         mxMinorGrid.reset();
     // default tick settings different in OOChart and Excel
     if( !mxTick )
@@ -3087,17 +3087,17 @@ void XclImpChAxis::Finalize()
 
 sal_uInt16 XclImpChAxis::GetFontIndex() const
 {
-    return mxFont.is() ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
+    return mxFont ? mxFont->GetFontIndex() : EXC_FONT_NOTFOUND;
 }
 
 Color XclImpChAxis::GetFontColor() const
 {
-    return mxTick.is() ? mxTick->GetFontColor() : GetFontAutoColor();
+    return mxTick ? mxTick->GetFontColor() : GetFontAutoColor();
 }
 
 sal_uInt16 XclImpChAxis::GetRotation() const
 {
-    return mxTick.is() ? mxTick->GetRotation() : EXC_CHART_AUTOROTATION;
+    return mxTick ? mxTick->GetRotation() : EXC_CHART_AUTOROTATION;
 }
 
 Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup, const XclImpChAxis* pCrossingAxis ) const
@@ -3111,10 +3111,10 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
         aAxisProp.SetBoolProperty( EXC_CHPROP_SHOW, IsActivated() );
 
         // axis line properties
-        if( mxAxisLine.is() )
+        if( mxAxisLine )
             mxAxisLine->Convert( GetChRoot(), aAxisProp, EXC_CHOBJTYPE_AXISLINE );
         // axis ticks properties
-        if( mxTick.is() )
+        if( mxTick )
             mxTick->Convert( aAxisProp );
 
         // axis caption text --------------------------------------------------
@@ -3126,7 +3126,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
         if( bHasLabels )
         {
             // font settings from CHFONT record or from default text
-            if( mxFont.is() )
+            if( mxFont )
                 ConvertFontBase( GetChRoot(), aAxisProp );
             else if( const XclImpChText* pDefText = GetChartData().GetDefaultText( EXC_CHTEXTTYPE_AXISLABEL ).get() )
                 pDefText->ConvertFont( aAxisProp );
@@ -3191,7 +3191,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
         // main grid
         ScfPropertySet aGridProp( xAxis->getGridProperties() );
         aGridProp.SetBoolProperty( EXC_CHPROP_SHOW, HasMajorGrid() );
-        if( mxMajorGrid.is() )
+        if( mxMajorGrid )
             mxMajorGrid->Convert( GetChRoot(), aGridProp, EXC_CHOBJTYPE_GRIDLINE );
         // sub grid
         Sequence< Reference< XPropertySet > > aSubGridPropSeq = xAxis->getSubGridProperties();
@@ -3199,7 +3199,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
         {
             ScfPropertySet aSubGridProp( aSubGridPropSeq[ 0 ] );
             aSubGridProp.SetBoolProperty( EXC_CHPROP_SHOW, HasMinorGrid() );
-            if( mxMinorGrid.is() )
+            if( mxMinorGrid )
                 mxMinorGrid->Convert( GetChRoot(), aSubGridProp, EXC_CHOBJTYPE_GRIDLINE );
         }
 
@@ -3213,7 +3213,7 @@ Reference< XAxis > XclImpChAxis::CreateAxis( const XclImpChTypeGroup& rTypeGroup
 
 void XclImpChAxis::ConvertWall( ScfPropertySet& rPropSet ) const
 {
-    if( mxWallFrame.is() )
+    if( mxWallFrame )
         mxWallFrame->Convert( rPropSet );
 }
 
@@ -3254,7 +3254,7 @@ void XclImpChAxis::ReadChAxisLine( XclImpStream& rStrm )
                 pxLineFmt->reset( new XclImpChLineFormat );
                 (*pxLineFmt)->ReadChLineFormat( rStrm );
             }
-            else if( bWallFrame && mxWallFrame.is() )
+            else if( bWallFrame && mxWallFrame )
             {
                 mxWallFrame->ReadSubRecord( rStrm );
             }
@@ -3341,9 +3341,9 @@ void XclImpChAxesSet::Finalize()
             mxZAxis.reset( new XclImpChAxis( GetChRoot(), EXC_CHAXIS_Z ) );
 
         // finalize axes
-        if( mxXAxis.is() ) mxXAxis->Finalize();
-        if( mxYAxis.is() ) mxYAxis->Finalize();
-        if( mxZAxis.is() ) mxZAxis->Finalize();
+        if( mxXAxis ) mxXAxis->Finalize();
+        if( mxYAxis ) mxYAxis->Finalize();
+        if( mxZAxis ) mxZAxis->Finalize();
 
         // finalize axis titles
         XclImpChTextRef xDefText = GetChartData().GetDefaultText( EXC_CHTEXTTYPE_AXISTITLE );
@@ -3414,11 +3414,11 @@ void XclImpChAxesSet::Convert( Reference< XDiagram > xDiagram ) const
 
 void XclImpChAxesSet::ConvertTitlePositions() const
 {
-    if( mxXAxisTitle.is() )
+    if( mxXAxisTitle )
         mxXAxisTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_AXISTITLE, maData.mnAxesSetId, EXC_CHAXIS_X ) );
-    if( mxYAxisTitle.is() )
+    if( mxYAxisTitle )
         mxYAxisTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_AXISTITLE, maData.mnAxesSetId, EXC_CHAXIS_Y ) );
-    if( mxZAxisTitle.is() )
+    if( mxZAxisTitle )
         mxZAxisTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_AXISTITLE, maData.mnAxesSetId, EXC_CHAXIS_Z ) );
 }
 
@@ -3484,7 +3484,7 @@ Reference< XCoordinateSystem > XclImpChAxesSet::CreateCoordSystem( Reference< XD
     if( !xCoordSystem.is() )
     {
         XclImpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
-        if( xTypeGroup.is() )
+        if( xTypeGroup )
         {
             xCoordSystem = xTypeGroup->CreateCoordSystem();
             // convert 3d chart settings
@@ -3521,14 +3521,14 @@ void XclImpChAxesSet::ConvertAxis(
         XclImpChAxisRef xChAxis, XclImpChTextRef xChAxisTitle,
         Reference< XCoordinateSystem > xCoordSystem, const XclImpChAxis* pCrossingAxis ) const
 {
-    if( xChAxis.is() )
+    if( xChAxis )
     {
         // create and attach the axis object
         Reference< XAxis > xAxis = CreateAxis( *xChAxis, pCrossingAxis );
         if( xAxis.is() )
         {
             // create and attach the axis title
-            if( xChAxisTitle.is() ) try
+            if( xChAxisTitle ) try
             {
                 Reference< XTitled > xTitled( xAxis, UNO_QUERY_THROW );
                 Reference< XTitle > xTitle( xChAxisTitle->CreateTitle(), UNO_SET_THROW );
@@ -3565,21 +3565,21 @@ Reference< XAxis > XclImpChAxesSet::CreateAxis( const XclImpChAxis& rChAxis, con
 void XclImpChAxesSet::ConvertBackground( Reference< XDiagram > xDiagram ) const
 {
     XclImpChTypeGroupRef xTypeGroup = GetFirstTypeGroup();
-    if( xTypeGroup.is() && xTypeGroup->Is3dWallChart() )
+    if( xTypeGroup && xTypeGroup->Is3dWallChart() )
     {
         // wall/floor formatting (3D charts)
-        if( mxXAxis.is() )
+        if( mxXAxis )
         {
             ScfPropertySet aWallProp( xDiagram->getWall() );
             mxXAxis->ConvertWall( aWallProp );
         }
-        if( mxYAxis.is() )
+        if( mxYAxis )
         {
             ScfPropertySet aFloorProp( xDiagram->getFloor() );
             mxYAxis->ConvertWall( aFloorProp );
         }
     }
-    else if( mxPlotFrame.is() )
+    else if( mxPlotFrame )
     {
         // diagram background formatting
         ScfPropertySet aWallProp( xDiagram->getWall() );
@@ -3703,14 +3703,14 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
     InitConversion( xChartDoc, rChartRect );
 
     // chart frame formatting
-    if( mxFrame.is() )
+    if( mxFrame )
     {
         ScfPropertySet aFrameProp( xChartDoc->getPageBackground() );
         mxFrame->Convert( aFrameProp );
     }
 
     // chart title
-    if( mxTitle.is() ) try
+    if( mxTitle ) try
     {
         Reference< XTitled > xTitled( xChartDoc, UNO_QUERY_THROW );
         Reference< XTitle > xTitle( mxTitle->CreateTitle(), UNO_SET_THROW );
@@ -3730,7 +3730,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
     mxSecnAxesSet->Convert( xDiagram );
 
     // legend
-    if( xDiagram.is() && mxLegend.is() )
+    if( xDiagram.is() && mxLegend )
         xDiagram->setLegend( mxLegend->CreateLegend() );
 
     /*  Following all conversions needing the old Chart1 API that involves full
@@ -3749,7 +3749,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
 
         // plot area position and size (there is no real automatic mode in BIFF5 charts)
         XclImpChFramePosRef xPlotAreaPos = mxPrimAxesSet->GetPlotAreaFramePos();
-        if( IsManualPlotArea() && xPlotAreaPos.is() ) try
+        if( IsManualPlotArea() && xPlotAreaPos ) try
         {
             const XclChFramePos& rFramePos = xPlotAreaPos->GetFramePosData();
             if( (rFramePos.mnTLMode == EXC_CHFRAMEPOS_PARENT) && (rFramePos.mnBRMode == EXC_CHFRAMEPOS_PARENT) )
@@ -3771,7 +3771,7 @@ void XclImpChChart::Convert( Reference< XChartDocument > xChartDoc,
         }
 
         // positions of all title objects
-        if( mxTitle.is() )
+        if( mxTitle )
             mxTitle->ConvertTitlePosition( XclChTextKey( EXC_CHTEXTTYPE_TITLE ) );
         mxPrimAxesSet->ConvertTitlePositions();
         mxSecnAxesSet->ConvertTitlePositions();
@@ -3848,7 +3848,7 @@ void XclImpChChart::Finalize()
     mxLegend = mxPrimAxesSet->GetLegend();
     if( !mxLegend )
         mxLegend = mxSecnAxesSet->GetLegend();
-    if( mxLegend.is() )
+    if( mxLegend )
         mxLegend->Finalize();
     // axes sets, updates chart type group default formats -> must be called before FinalizeDataFormats()
     mxPrimAxesSet->Finalize();
@@ -3916,7 +3916,7 @@ void XclImpChChart::FinalizeTitle()
         // automatic title from first series name (if there are no series on secondary axes set)
         if( !mxSecnAxesSet->IsValidAxesSet() )
             aAutoTitle = mxPrimAxesSet->GetSingleSeriesTitle();
-        if( mxTitle.is() || (aAutoTitle.Len() > 0) )
+        if( mxTitle || (aAutoTitle.Len() > 0) )
         {
             if( !mxTitle )
                 mxTitle.reset( new XclImpChText( GetChRoot() ) );
@@ -4115,8 +4115,8 @@ void XclImpChart::UpdateObjFrame( const XclObjLineData& rLineData, const XclObjF
 sal_Size XclImpChart::GetProgressSize() const
 {
     return
-        (mxChartData.is() ? mxChartData->GetProgressSize() : 0) +
-        (mxChartDrawing.is() ? mxChartDrawing->GetProgressSize() : 0);
+        (mxChartData ? mxChartData->GetProgressSize() : 0) +
+        (mxChartDrawing ? mxChartDrawing->GetProgressSize() : 0);
 }
 
 void XclImpChart::Convert( Reference< XModel > xModel, XclImpDffConverter& rDffConv, const OUString& rObjName, const Rectangle& rChartRect ) const
@@ -4124,9 +4124,9 @@ void XclImpChart::Convert( Reference< XModel > xModel, XclImpDffConverter& rDffC
     Reference< XChartDocument > xChartDoc( xModel, UNO_QUERY );
     if( xChartDoc.is() )
     {
-        if( mxChartData.is() )
+        if( mxChartData )
             mxChartData->Convert( xChartDoc, rDffConv, rObjName, rChartRect );
-        if( mxChartDrawing.is() )
+        if( mxChartDrawing )
             mxChartDrawing->ConvertObjects( rDffConv, xModel, rChartRect );
     }
 }
diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx
index 2d9f909..2f012ad 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -1124,11 +1124,11 @@ ErrCode XclImpDecryptHelper::ReadFilepass( XclImpStream& rStrm )
     rStrm.SetDecrypter( xDecr );
 
     // request and verify a password (decrypter implements IDocPasswordVerifier)
-    if( xDecr.is() )
+    if( xDecr )
         rStrm.GetRoot().RequestPassword( *xDecr );
 
     // return error code (success, wrong password, etc.)
-    return xDecr.is() ? xDecr->GetError() : EXC_ENCR_ERROR_UNSUPP_CRYPT;
+    return xDecr ? xDecr->GetError() : EXC_ENCR_ERROR_UNSUPP_CRYPT;
 }
 
 // Document protection ========================================================
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index 12a03c2..1122f7d 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -113,6 +113,7 @@
 #include "scextopt.hxx"
 
 #include "namebuff.hxx"
+#include <boost/shared_ptr.hpp>
 
 using ::rtl::OUString;
 using ::rtl::OUStringBuffer;
@@ -1322,7 +1323,7 @@ void XclImpObjTextData::ReadByteString( XclImpStream& rStrm )
 
 void XclImpObjTextData::ReadFormats( XclImpStream& rStrm )
 {
-    if( mxString.is() )
+    if( mxString )
         mxString->ReadObjFormats( rStrm, maData.mnFormatSize );
     else
         rStrm.Ignore( maData.mnFormatSize );
@@ -1384,7 +1385,7 @@ void XclImpTextObj::DoPreProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject&
     // set text data
     if( SdrTextObj* pTextObj = dynamic_cast< SdrTextObj* >( &rSdrObj ) )
     {
-        if( maTextData.mxString.is() )
+        if( maTextData.mxString )
         {
             if( maTextData.mxString->IsRich() )
             {
@@ -1569,7 +1570,7 @@ void XclImpChartObj::DoReadObj3( XclImpStream& rStrm, sal_uInt16 nMacroSize )
     rStrm.Ignore( 18 );
     ReadMacro3( rStrm, nMacroSize );
     // set frame format from OBJ record, it is used if chart itself is transparent
-    if( mxChart.is() )
+    if( mxChart )
         mxChart->UpdateObjFrame( maLineData, maFillData );
 }
 
@@ -1580,7 +1581,7 @@ void XclImpChartObj::DoReadObj4( XclImpStream& rStrm, sal_uInt16 nMacroSize )
     rStrm.Ignore( 18 );
     ReadMacro4( rStrm, nMacroSize );
     // set frame format from OBJ record, it is used if chart itself is transparent
-    if( mxChart.is() )
+    if( mxChart )
         mxChart->UpdateObjFrame( maLineData, maFillData );
 }
 
@@ -1593,7 +1594,7 @@ void XclImpChartObj::DoReadObj5( XclImpStream& rStrm, sal_uInt16 nNameLen, sal_u
     ReadMacro5( rStrm, nMacroSize );
     ReadChartSubStream( rStrm );
     // set frame format from OBJ record, it is used if chart itself is transparent
-    if( mxChart.is() )
+    if( mxChart )
         mxChart->UpdateObjFrame( maLineData, maFillData );
 }
 
@@ -1613,14 +1614,14 @@ void XclImpChartObj::DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId
 
 sal_Size XclImpChartObj::DoGetProgressSize() const
 {
-    return mxChart.is() ? mxChart->GetProgressSize() : 1;
+    return mxChart ? mxChart->GetProgressSize() : 1;
 }
 
 SdrObject* XclImpChartObj::DoCreateSdrObj( XclImpDffConverter& rDffConv, const Rectangle& rAnchorRect ) const
 {
     SdrObjectPtr xSdrObj;
     SfxObjectShell* pDocShell = GetDocShell();
-    if( rDffConv.SupportsOleObjects() && SvtModuleOptions().IsChart() && pDocShell && mxChart.is() && !mxChart->IsPivotChart() )
+    if( rDffConv.SupportsOleObjects() && SvtModuleOptions().IsChart() && pDocShell && mxChart && !mxChart->IsPivotChart() )
     {
         // create embedded chart object
         OUString aEmbObjName;
@@ -1646,7 +1647,7 @@ SdrObject* XclImpChartObj::DoCreateSdrObj( XclImpDffConverter& rDffConv, const R
 void XclImpChartObj::DoPostProcessSdrObj( XclImpDffConverter& rDffConv, SdrObject& rSdrObj ) const
 {
     const SdrOle2Obj* pSdrOleObj = dynamic_cast< const SdrOle2Obj* >( &rSdrObj );
-    if( mxChart.is() && pSdrOleObj )
+    if( mxChart && pSdrOleObj )
     {
         Reference< XEmbeddedObject > xEmbObj = pSdrOleObj->GetObjRef();
         if( xEmbObj.is() && ::svt::EmbeddedObjectRef::TryRunningState( xEmbObj ) ) try
@@ -1773,7 +1774,7 @@ void XclImpControlHelper::ApplySheetLinkProps() const
         if( xFactory.is() )
         {
             // cell link
-            if( mxCellLink.is() ) try
+            if( mxCellLink ) try
             {
                 Reference< XBindableValue > xBindable( xCtrlModel, UNO_QUERY_THROW );
 
@@ -1804,7 +1805,7 @@ void XclImpControlHelper::ApplySheetLinkProps() const
             }
 
             // source range
-            if( mxSrcRange.is() ) try
+            if( mxSrcRange ) try
             {
                 Reference< XListEntrySink > xEntrySink( xCtrlModel, UNO_QUERY_THROW );
 
@@ -1947,7 +1948,7 @@ bool XclImpTbxObjBase::FillMacroDescriptor( ScriptEventDescriptor& rDescriptor )
 
 void XclImpTbxObjBase::ConvertFont( ScfPropertySet& rPropSet ) const
 {
-    if( maTextData.mxString.is() )
+    if( maTextData.mxString )
     {
         const XclFormatRunVec& rFormatRuns = maTextData.mxString->GetFormats();
         if( rFormatRuns.empty() )
@@ -1959,7 +1960,7 @@ void XclImpTbxObjBase::ConvertFont( ScfPropertySet& rPropSet ) const
 
 void XclImpTbxObjBase::ConvertLabel( ScfPropertySet& rPropSet ) const
 {
-    if( maTextData.mxString.is() )
+    if( maTextData.mxString )
     {
         String aLabel = maTextData.mxString->GetText();
         if( maTextData.maData.mnShortcut > 0 )
@@ -2377,7 +2378,7 @@ void XclImpEditObj::DoReadObj8SubRec( XclImpStream& rStrm, sal_uInt16 nSubRecId,
 
 void XclImpEditObj::DoProcessControl( ScfPropertySet& rPropSet ) const
 {
-    if( maTextData.mxString.is() )
+    if( maTextData.mxString )
     {
         OUString aText = maTextData.mxString->GetText();
         if( IsNumeric() )
@@ -2711,7 +2712,7 @@ void XclImpDropDownObj::DoProcessControl( ScfPropertySet& rPropSet ) const
     if( GetDropDownType() == EXC_OBJ_DROPDOWN_COMBOBOX )
     {
         // text of editable combobox
-        if( maTextData.mxString.is() )
+        if( maTextData.mxString )
             rPropSet.SetStringProperty( CREATE_OUSTRING( "DefaultText" ), maTextData.mxString->GetText() );
     }
     else
@@ -3738,7 +3739,7 @@ void XclImpDrawing::ReadObj( XclImpStream& rStrm )
             DBG_ERROR_BIFF();
     }
 
-    if( xDrawObj.is() )
+    if( xDrawObj )
     {
         // insert into maRawObjs or into the last open group object
         maRawObjs.InsertGrouped( xDrawObj );
@@ -3987,7 +3988,7 @@ void XclImpSheetDrawing::ReadNote( XclImpStream& rStrm )
 void XclImpSheetDrawing::ReadTabChart( XclImpStream& rStrm )
 {
     DBG_ASSERT_BIFF( GetBiff() >= EXC_BIFF5 );
-    ScfRef< XclImpChartObj > xChartObj( new XclImpChartObj( GetRoot(), true ) );
+    boost::shared_ptr< XclImpChartObj > xChartObj( new XclImpChartObj( GetRoot(), true ) );
     xChartObj->ReadChartSubStream( rStrm );
     // insert the chart as raw object without connected DFF data
     AppendRawObject( xChartObj );
diff --git a/sc/source/filter/excel/xipivot.cxx b/sc/source/filter/excel/xipivot.cxx
index 5d4132c..dc63f7e 100644
--- a/sc/source/filter/excel/xipivot.cxx
+++ b/sc/source/filter/excel/xipivot.cxx
@@ -785,7 +785,7 @@ void XclImpPivotCache::ReadPivotCacheStream( XclImpStream& rStrm )
             case EXC_ID_SXSTRING:
             case EXC_ID_SXDATETIME:
             case EXC_ID_SXEMPTY:
-                if( xCurrField.is() )                   // inline items
+                if( xCurrField )                   // inline items
                 {
                     xCurrField->ReadItem( aPCStrm );
                 }
@@ -810,12 +810,12 @@ void XclImpPivotCache::ReadPivotCacheStream( XclImpStream& rStrm )
             break;
 
             case EXC_ID_SXNUMGROUP:
-                if( xCurrField.is() )
+                if( xCurrField )
                     xCurrField->ReadSxnumgroup( aPCStrm );
             break;
 
             case EXC_ID_SXGROUPINFO:
-                if( xCurrField.is() )
+                if( xCurrField )
                     xCurrField->ReadSxgroupinfo( aPCStrm );
             break;
 
@@ -909,7 +909,7 @@ XclImpPTField::XclImpPTField( const XclImpPivotTable& rPTable, sal_uInt16 nCache
 const XclImpPCField* XclImpPTField::GetCacheField() const
 {
     XclImpPivotCacheRef xPCache = mrPTable.GetPivotCache();
-    return xPCache.is() ? xPCache->GetField( maFieldInfo.mnCacheIdx ) : 0;
+    return xPCache ? xPCache->GetField( maFieldInfo.mnCacheIdx ) : 0;
 }
 
 const String& XclImpPTField::GetFieldName() const
@@ -1256,13 +1256,13 @@ void XclImpPivotTable::ReadSxvd( XclImpStream& rStrm )
 
 void XclImpPivotTable::ReadSxvi( XclImpStream& rStrm )
 {
-    if( mxCurrField.is() )
+    if( mxCurrField )
         mxCurrField->ReadSxvi( rStrm );
 }
 
 void XclImpPivotTable::ReadSxvdex( XclImpStream& rStrm )
 {
-    if( mxCurrField.is() )
+    if( mxCurrField )
         mxCurrField->ReadSxvdex( rStrm );
 }
 
diff --git a/sc/source/filter/excel/xistream.cxx b/sc/source/filter/excel/xistream.cxx
index a07dd0b..c2d71e8 100644
--- a/sc/source/filter/excel/xistream.cxx
+++ b/sc/source/filter/excel/xistream.cxx
@@ -442,14 +442,14 @@ void XclImpStream::SetDecrypter( XclImpDecrypterRef xDecrypter )
 void XclImpStream::CopyDecrypterFrom( const XclImpStream& rStrm )
 {
     XclImpDecrypterRef xNewDecr;
-    if( rStrm.mxDecrypter.is() )
+    if( rStrm.mxDecrypter )
         xNewDecr = rStrm.mxDecrypter->Clone();
     SetDecrypter( xNewDecr );
 }
 
 bool XclImpStream::HasValidDecrypter() const
 {
-    return mxDecrypter.is() && mxDecrypter->IsValid();
+    return mxDecrypter && mxDecrypter->IsValid();
 }
 
 void XclImpStream::EnableDecryption( bool bEnable )
@@ -998,7 +998,7 @@ bool XclImpStream::ReadNextRawRecHeader()
 
 void XclImpStream::SetupDecrypter()
 {
-    if( mxDecrypter.is() )
+    if( mxDecrypter )
         mxDecrypter->Update( mrStrm, mnRawRecSize );
 }
 
diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx
index 6693d6f..f15a6dd 100644
--- a/sc/source/filter/excel/xistyle.cxx
+++ b/sc/source/filter/excel/xistyle.cxx
@@ -1871,7 +1871,7 @@ void XclImpXFRangeBuffer::Finalize()
     for( XclImpXFRangeColumnVec::const_iterator aVBeg = maColumns.begin(), aVEnd = maColumns.end(), aVIt = aVBeg; aVIt != aVEnd; ++aVIt )
     {
         // apply all cell styles of an existing column
-        if( aVIt->is() )
+        if( aVIt->get() )
         {
             XclImpXFRangeColumn& rColumn = **aVIt;
             SCCOL nScCol = static_cast< SCCOL >( aVIt - aVBeg );
diff --git a/sc/source/filter/excel/xlchart.cxx b/sc/source/filter/excel/xlchart.cxx
index c1f0a1e..a4279c2 100644
--- a/sc/source/filter/excel/xlchart.cxx
+++ b/sc/source/filter/excel/xlchart.cxx
@@ -1054,7 +1054,7 @@ void XclChPropSetHelper::WriteEscherProperties( ScfPropertySet& rPropSet,
         const XclChEscherFormat& rEscherFmt, const XclChPicFormat& rPicFmt,
         XclChPropertyMode ePropMode )
 {
-    if( rEscherFmt.mxItemSet.is() )
+    if( rEscherFmt.mxItemSet )
     {
         if( const XFillStyleItem* pStyleItem = static_cast< const XFillStyleItem* >( rEscherFmt.mxItemSet->GetItem( XATTR_FILLSTYLE, FALSE ) ) )
         {
diff --git a/sc/source/filter/excel/xlformula.cxx b/sc/source/filter/excel/xlformula.cxx
index e52f0b8..78a2b90 100644
--- a/sc/source/filter/excel/xlformula.cxx
+++ b/sc/source/filter/excel/xlformula.cxx
@@ -563,7 +563,7 @@ XclExpStream& operator<<( XclExpStream& rStrm, const XclTokenArray& rTokArr )
 
 XclExpStream& operator<<( XclExpStream& rStrm, const XclTokenArrayRef& rxTokArr )
 {
-    if( rxTokArr.is() )
+    if( rxTokArr )
         rxTokArr->Write( rStrm );
     else
         rStrm << sal_uInt16( 0 );
diff --git a/sc/source/filter/inc/excdoc.hxx b/sc/source/filter/inc/excdoc.hxx
index 7c4aee2..b6462db 100644
--- a/sc/source/filter/inc/excdoc.hxx
+++ b/sc/source/filter/inc/excdoc.hxx
@@ -33,6 +33,7 @@
 #include "excrecds.hxx"
 #include "xeroot.hxx"
 #include "root.hxx"
+#include <boost/shared_ptr.hpp>
 
 //------------------------------------------------------------------ Forwards -
 
@@ -55,7 +56,7 @@ class ExcTable : public XclExpRecordBase, public XclExpRoot
 {
 private:
     typedef XclExpRecordList< ExcBundlesheetBase >  ExcBoundsheetList;
-    typedef ScfRef< XclExpCellTable >               XclExpCellTableRef;
+    typedef boost::shared_ptr< XclExpCellTable >    XclExpCellTableRef;
 
     XclExpRecordList<>          aRecList;
     XclExpCellTableRef          mxCellTable;
diff --git a/sc/source/filter/inc/excrecds.hxx b/sc/source/filter/inc/excrecds.hxx
index dfd2e56..36b0b33 100644
--- a/sc/source/filter/inc/excrecds.hxx
+++ b/sc/source/filter/inc/excrecds.hxx
@@ -47,6 +47,7 @@
 #include "root.hxx"
 #include "excdefs.hxx"
 #include "cell.hxx"
+#include <boost/shared_ptr.hpp>
 
 //------------------------------------------------------------------ Forwards -
 
@@ -500,7 +501,7 @@ public:
 private:
     using               XclExpRoot::CreateRecord;
 
-    typedef ScfRef< ExcAutoFilterRecs >             XclExpTabFilterRef;
+    typedef boost::shared_ptr< ExcAutoFilterRecs >  XclExpTabFilterRef;
     typedef ::std::map< SCTAB, XclExpTabFilterRef > XclExpTabFilterMap;
 
     XclExpTabFilterMap  maFilterMap;
diff --git a/sc/source/filter/inc/ftools.hxx b/sc/source/filter/inc/ftools.hxx
index d7af66d..8e90e7e 100644
--- a/sc/source/filter/inc/ftools.hxx
+++ b/sc/source/filter/inc/ftools.hxx
@@ -38,6 +38,7 @@
 #include <tools/debug.hxx>
 #include <oox/helper/helper.hxx>
 #include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
 #include "filter.hxx"
 #include "scdllapi.h"
 
@@ -139,96 +140,20 @@ void insert_value( Type& rnBitField, InsertType nValue, sal_uInt8 nStartBit, sal
 
 // ============================================================================
 
-/** Simple shared pointer (NOT thread-save, but faster than boost::shared_ptr). */
-template< typename Type >
-class ScfRef
-{
-    template< typename > friend class ScfRef;
-
-public:
-    typedef Type        element_type;
-    typedef ScfRef      this_type;
-
-    inline explicit     ScfRef( element_type* pObj = 0 ) { eat( pObj ); }
-    inline /*implicit*/ ScfRef( const this_type& rRef ) { eat( rRef.mpObj, rRef.mpnCount ); }
-    template< typename Type2 >
-    inline /*implicit*/ ScfRef( const ScfRef< Type2 >& rRef ) { eat( rRef.mpObj, rRef.mpnCount ); }
-    inline              ~ScfRef() { rel(); }
-
-    inline void         reset( element_type* pObj = 0 ) { rel(); eat( pObj ); }
-    inline this_type&   operator=( const this_type& rRef ) { if( this != &rRef ) { rel(); eat( rRef.mpObj, rRef.mpnCount ); } return *this; }
-    template< typename Type2 >
-    inline this_type&   operator=( const ScfRef< Type2 >& rRef ) { rel(); eat( rRef.mpObj, rRef.mpnCount ); return *this; }
-
-    inline element_type* get() const { return mpObj; }
-    inline bool         is() const { return mpObj != 0; }
-
-    inline element_type* operator->() const { return mpObj; }
-    inline element_type& operator*() const { return *mpObj; }
-
-    inline bool         operator!() const { return mpObj == 0; }
-
-private:
-    inline void         eat( element_type* pObj, size_t* pnCount = 0 ) { mpObj = pObj; mpnCount = mpObj ? (pnCount ? pnCount : new size_t( 0 )) : 0; if( mpnCount ) ++*mpnCount; }
-    inline void         rel() { if( mpnCount && !--*mpnCount ) { DELETEZ( mpObj ); DELETEZ( mpnCount ); } }
-
-private:
-    Type*               mpObj;
-    size_t*             mpnCount;
-};
-
-template< typename Type >
-inline bool operator==( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
-    return rxRef1.get() == rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator!=( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
-    return rxRef1.get() != rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator<( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
-    return rxRef1.get() < rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator>( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
-    return rxRef1.get() > rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator<=( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
-    return rxRef1.get() <= rxRef2.get();
-}
-
-template< typename Type >
-inline bool operator>=( const ScfRef< Type >& rxRef1, const ScfRef< Type >& rxRef2 )
-{
-    return rxRef1.get() >= rxRef2.get();
-}
-
-// ----------------------------------------------------------------------------
-
 /** Template for a map of ref-counted objects with additional accessor functions. */
 template< typename KeyType, typename ObjType >
-class ScfRefMap : public ::std::map< KeyType, ScfRef< ObjType > >
+class ScfRefMap : public ::std::map< KeyType, boost::shared_ptr< ObjType > >
 {
 public:
     typedef KeyType                             key_type;
-    typedef ScfRef< ObjType >                   ref_type;
+    typedef boost::shared_ptr< ObjType >        ref_type;
     typedef ::std::map< key_type, ref_type >    map_type;
 
     /** Returns true, if the object accossiated to the passed key exists. */
     inline bool         has( key_type nKey ) const
                         {
                             typename map_type::const_iterator aIt = find( nKey );
-                            return (aIt != this->end()) && aIt->second.is();
+                            return (aIt != this->end()) && aIt->second;
                         }
 
     /** Returns a reference to the object accossiated to the passed key, or 0 on error. */
diff --git a/sc/source/filter/inc/imp_op.hxx b/sc/source/filter/inc/imp_op.hxx
index b403ea5..f45d580 100644
--- a/sc/source/filter/inc/imp_op.hxx
+++ b/sc/source/filter/inc/imp_op.hxx
@@ -39,6 +39,7 @@
 #include "otlnbuff.hxx"
 #include "colrowst.hxx"
 #include "excdefs.hxx"
+#include <boost/shared_ptr.hpp>
 
 
 class SfxItemSet;
@@ -78,8 +79,8 @@ public:
     void                Convert();
 
 private:
-    typedef ScfRef< XclImpOutlineBuffer >  XclImpOutlineBfrRef;
-    typedef ScfRef< XclImpColRowSettings > XclImpColRowSettRef;
+    typedef boost::shared_ptr< XclImpOutlineBuffer >  XclImpOutlineBfrRef;
+    typedef boost::shared_ptr< XclImpColRowSettings > XclImpColRowSettRef;
 
     XclImpOutlineBfrRef mxColOutlineBuff;
     XclImpOutlineBfrRef mxRowOutlineBuff;
diff --git a/sc/source/filter/inc/xechart.hxx b/sc/source/filter/inc/xechart.hxx
index 71fdbd2..e9c597e 100644
--- a/sc/source/filter/inc/xechart.hxx
+++ b/sc/source/filter/inc/xechart.hxx
@@ -36,6 +36,7 @@
 #include "xlstyle.hxx"
 #include "xeroot.hxx"
 #include "xestring.hxx"
+#include <boost/shared_ptr.hpp>
 
 class Size;
 
@@ -158,7 +159,7 @@ protected:
     void                FinalizeFutureRecBlock( XclExpStream& rStrm );
 
 private:
-    typedef ScfRef< XclExpChRootData > XclExpChRootDataRef;
+    typedef boost::shared_ptr< XclExpChRootData > XclExpChRootDataRef;
     XclExpChRootDataRef mxChData;           /// Reference to the root data object.
 };
 
@@ -225,7 +226,7 @@ private:
     XclChFramePos       maData;             /// Position of the frame.
 };
 
-typedef ScfRef< XclExpChFramePos > XclExpChFramePosRef;
+typedef boost::shared_ptr< XclExpChFramePos > XclExpChFramePosRef;
 
 // ----------------------------------------------------------------------------
 
@@ -260,7 +261,7 @@ private:
     sal_uInt32          mnColorId;          /// Line color identifier.
 };
 
-typedef ScfRef< XclExpChLineFormat > XclExpChLineFormatRef;
+typedef boost::shared_ptr< XclExpChLineFormat > XclExpChLineFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -294,7 +295,7 @@ private:
     sal_uInt32          mnBackColorId;      /// Pattern background color identifier.
 };
 
-typedef ScfRef< XclExpChAreaFormat > XclExpChAreaFormatRef;
+typedef boost::shared_ptr< XclExpChAreaFormat > XclExpChAreaFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -329,7 +330,7 @@ private:
     sal_uInt32          mnColor2Id;         /// Second fill color identifier.
 };
 
-typedef ScfRef< XclExpChEscherFormat > XclExpChEscherFormatRef;
+typedef boost::shared_ptr< XclExpChEscherFormat > XclExpChEscherFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -398,7 +399,7 @@ private:
     XclChObjectType     meObjType;          /// Type of the represented object.
 };
 
-typedef ScfRef< XclExpChFrame > XclExpChFrameRef;
+typedef boost::shared_ptr< XclExpChFrame > XclExpChFrameRef;
 
 // Source links ===============================================================
 
@@ -422,7 +423,7 @@ public:
     void                AppendString( const String& rStr );
 
     /** Returns true, if this source link contains explicit string data. */
-    inline bool         HasString() const { return mxString.is() && !mxString->IsEmpty(); }
+    inline bool         HasString() const { return mxString && !mxString->IsEmpty(); }
 
     /** Writes the CHSOURCELINK record and optionally a CHSTRING record with explicit string data. */
     virtual void        Save( XclExpStream& rStrm );
@@ -436,7 +437,7 @@ private:
     XclExpStringRef     mxString;           /// Text data (CHSTRING record).
 };
 
-typedef ScfRef< XclExpChSourceLink > XclExpChSourceLinkRef;
+typedef boost::shared_ptr< XclExpChSourceLink > XclExpChSourceLinkRef;
 
 // Text =======================================================================
 
@@ -447,7 +448,7 @@ public:
     explicit            XclExpChFont( sal_uInt16 nFontIdx );
 };
 
-typedef ScfRef< XclExpChFont > XclExpChFontRef;
+typedef boost::shared_ptr< XclExpChFont > XclExpChFontRef;
 
 // ----------------------------------------------------------------------------
 
@@ -464,7 +465,7 @@ private:
     XclChObjectLink     maData;             /// Contents of the CHOBJECTLINK record.
 };
 
-typedef ScfRef< XclExpChObjectLink > XclExpChObjectLinkRef;
+typedef boost::shared_ptr< XclExpChObjectLink > XclExpChObjectLinkRef;
 
 // ----------------------------------------------------------------------------
 
@@ -487,7 +488,7 @@ private:
     XclChFrLabelProps   maData;             /// Contents of the CHFRLABELPROPS record.
 };
 
-typedef ScfRef< XclExpChFrLabelProps > XclExpChFrLabelPropsRef;
+typedef boost::shared_ptr< XclExpChFrLabelProps > XclExpChFrLabelPropsRef;
 
 // ----------------------------------------------------------------------------
 
@@ -542,7 +543,7 @@ public:
     void                ConvertTrendLineEquation( const ScfPropertySet& rPropSet, const XclChDataPointPos& rPointPos );
 
     /** Returns true, if the string object does not contain any text data. */
-    inline bool         HasString() const { return mxSrcLink.is() && mxSrcLink->HasString(); }
+    inline bool         HasString() const { return mxSrcLink && mxSrcLink->HasString(); }
     /** Returns the flags needed for the CHATTACHEDLABEL record. */
     sal_uInt16          GetAttLabelFlags() const;
 
@@ -563,7 +564,7 @@ private:
     sal_uInt32          mnTextColorId;      /// Text color identifier.
 };
 
-typedef ScfRef< XclExpChText > XclExpChTextRef;
+typedef boost::shared_ptr< XclExpChText > XclExpChTextRef;
 
 // Data series ================================================================
 
@@ -599,7 +600,7 @@ private:
     sal_uInt32          mnFillColorId;      /// Fill color identifier.
 };
 
-typedef ScfRef< XclExpChMarkerFormat > XclExpChMarkerFormatRef;
+typedef boost::shared_ptr< XclExpChMarkerFormat > XclExpChMarkerFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -613,7 +614,7 @@ public:
     void                Convert( const ScfPropertySet& rPropSet );
 };
 
-typedef ScfRef< XclExpChPieFormat > XclExpChPieFormatRef;
+typedef boost::shared_ptr< XclExpChPieFormat > XclExpChPieFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -633,7 +634,7 @@ private:
     XclCh3dDataFormat   maData;             /// Contents of the CH3DDATAFORMAT record.
 };
 
-typedef ScfRef< XclExpCh3dDataFormat > XclExpCh3dDataFormatRef;
+typedef boost::shared_ptr< XclExpCh3dDataFormat > XclExpCh3dDataFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -644,7 +645,7 @@ public:
     explicit            XclExpChAttachedLabel( sal_uInt16 nFlags );
 };
 
-typedef ScfRef< XclExpChAttachedLabel > XclExpChAttLabelRef;
+typedef boost::shared_ptr< XclExpChAttachedLabel > XclExpChAttLabelRef;
 
 // ----------------------------------------------------------------------------
 
@@ -685,7 +686,7 @@ private:
     XclExpChAttLabelRef mxAttLabel;         /// Data point label type (CHATTACHEDLABEL record).
 };
 
-typedef ScfRef< XclExpChDataFormat > XclExpChDataFormatRef;
+typedef boost::shared_ptr< XclExpChDataFormat > XclExpChDataFormatRef;
 
 // ----------------------------------------------------------------------------
 
@@ -715,7 +716,7 @@ private:
     XclExpChTextRef     mxLabel;            /// Formatting of the equation text box.
 };
 
-typedef ScfRef< XclExpChSerTrendLine > XclExpChSerTrendLineRef;
+typedef boost::shared_ptr< XclExpChSerTrendLine > XclExpChSerTrendLineRef;
 
 // ----------------------------------------------------------------------------
 
@@ -735,7 +736,7 @@ private:
     XclChSerErrorBar    maData;             /// Contents of the CHSERERRORBAR record.
 };
 
-typedef ScfRef< XclExpChSerErrorBar > XclExpChSerErrorBarRef;
+typedef boost::shared_ptr< XclExpChSerErrorBar > XclExpChSerErrorBarRef;
 
 // ----------------------------------------------------------------------------
 
@@ -809,7 +810,7 @@ private:
     sal_uInt16          mnParentIdx;        /// 0-based index of parent series (trend lines and error bars).
 };
 
-typedef ScfRef< XclExpChSeries > XclExpChSeriesRef;
+typedef boost::shared_ptr< XclExpChSeries > XclExpChSeriesRef;
 
 // Chart type groups ==========================================================
 
@@ -865,7 +866,7 @@ private:
     XclChChart3d        maData;             /// Contents of the CHCHART3D record.
 };
 
-typedef ScfRef< XclExpChChart3d > XclExpChChart3dRef;
+typedef boost::shared_ptr< XclExpChChart3d > XclExpChChart3dRef;
 
 // ----------------------------------------------------------------------------
 
@@ -895,7 +896,7 @@ private:
     XclExpChFrameRef    mxFrame;            /// Legend frame format (CHFRAME group).
 };
 
-typedef ScfRef< XclExpChLegend > XclExpChLegendRef;
+typedef boost::shared_ptr< XclExpChLegend > XclExpChLegendRef;
 
 // ----------------------------------------------------------------------------
 
@@ -923,7 +924,7 @@ private:
     sal_uInt16          mnBarDist;          /// Distance between bars (CHDROPBAR record).
 };
 
-typedef ScfRef< XclExpChDropBar > XclExpChDropBarRef;
+typedef boost::shared_ptr< XclExpChDropBar > XclExpChDropBarRef;
 
 // ----------------------------------------------------------------------------
 
@@ -967,7 +968,7 @@ public:
     /** Returns true, if chart type supports wall and floor format. */
     inline bool         Is3dWallChart() const { return Is3dChart() && (maTypeInfo.meTypeCateg != EXC_CHTYPECATEG_PIE); }
     /** Returns true, if the series in this chart type group are ordered on the Z axis. */
-    inline bool         Is3dDeepChart() const { return Is3dWallChart() && mxChart3d.is() && !mxChart3d->IsClustered(); }
+    inline bool         Is3dDeepChart() const { return Is3dWallChart() && mxChart3d && !mxChart3d->IsClustered(); }
     /** Returns true, if this chart type can be combined with other types. */
     inline bool         IsCombinable2d() const { return !Is3dChart() && maTypeInfo.mbCombinable2d; }
 
@@ -1004,7 +1005,7 @@ private:
     XclExpChLineFormatMap maChartLines;     /// Global line formats (CHCHARTLINE group).
 };
 
-typedef ScfRef< XclExpChTypeGroup > XclExpChTypeGroupRef;
+typedef boost::shared_ptr< XclExpChTypeGroup > XclExpChTypeGroupRef;
 
 // Axes =======================================================================
 
@@ -1028,7 +1029,7 @@ private:
     XclChLabelRange     maData;             /// Contents of the CHLABELRANGE record.
 };
 
-typedef ScfRef< XclExpChLabelRange > XclExpChLabelRangeRef;
+typedef boost::shared_ptr< XclExpChLabelRange > XclExpChLabelRangeRef;
 
 // ----------------------------------------------------------------------------
 
@@ -1049,7 +1050,7 @@ private:
     XclChValueRange     maData;             /// Contents of the CHVALUERANGE record.
 };
 
-typedef ScfRef< XclExpChValueRange > XclExpChValueRangeRef;
+typedef boost::shared_ptr< XclExpChValueRange > XclExpChValueRangeRef;
 
 // ----------------------------------------------------------------------------
 
@@ -1073,7 +1074,7 @@ private:
     sal_uInt32          mnTextColorId;      /// Axis labels text color identifier.
 };
 
-typedef ScfRef< XclExpChTick > XclExpChTickRef;
+typedef boost::shared_ptr< XclExpChTick > XclExpChTickRef;
 
 // ----------------------------------------------------------------------------
 
@@ -1126,7 +1127,7 @@ private:
     sal_uInt16          mnNumFmtIdx;        /// Index into number format buffer (CHFORMAT record).
 };
 
-typedef ScfRef< XclExpChAxis > XclExpChAxisRef;
+typedef boost::shared_ptr< XclExpChAxis > XclExpChAxisRef;
 
 // ----------------------------------------------------------------------------
 
@@ -1190,7 +1191,7 @@ private:
     XclExpChTypeGroupList maTypeGroups;     /// Chart type groups (CHTYPEGROUP group).
 };
 
-typedef ScfRef< XclExpChAxesSet > XclExpChAxesSetRef;
+typedef boost::shared_ptr< XclExpChAxesSet > XclExpChAxesSetRef;
 
 // The chart object ===========================================================
 
@@ -1255,8 +1256,8 @@ public:
     virtual void        Save( XclExpStream& rStrm );
 
 private:
-    ScfRef< XclExpObjectManager > mxObjMgr;
-    ScfRef< XclExpRecordBase > mxObjRecs;
+    boost::shared_ptr< XclExpObjectManager > mxObjMgr;
+    boost::shared_ptr< XclExpRecordBase > mxObjRecs;
 };
 
 // ----------------------------------------------------------------------------
diff --git a/sc/source/filter/inc/xeescher.hxx b/sc/source/filter/inc/xeescher.hxx
index 1e6178e..34c80c4 100644
--- a/sc/source/filter/inc/xeescher.hxx
+++ b/sc/source/filter/inc/xeescher.hxx
@@ -35,6 +35,7 @@
 #include "xlescher.hxx"
 #include <com/sun/star/chart/XChartDocument.hpp>
 #include "svx/sdtaitm.hxx"
+#include <boost/shared_ptr.hpp>
 
 
 namespace com { namespace sun { namespace star {
@@ -330,7 +331,7 @@ public:
     void WriteShapeTransformation( sax_fastparser::FSHelperPtr pFS, const XShapeRef& rXShape, sal_Bool bFlipH = false, sal_Bool bFlipV = false, sal_Int32 nRotation = 0 );
 
 private:
-    typedef ScfRef< XclExpChart > XclExpChartRef;
+    typedef boost::shared_ptr< XclExpChart > XclExpChartRef;
     XclExpChartRef      mxChart;        /// The chart itself (BOF/EOF substream data).
     XShapeRef mxShape;
     XChartDocRef mxChartDoc;
@@ -423,17 +424,17 @@ public:
 
     /** Creates and returns the MSODRAWINGGROUP record containing global DFF
         data in the DGGCONTAINER. */
-    ScfRef< XclExpRecordBase > CreateDrawingGroup();
+    boost::shared_ptr< XclExpRecordBase > CreateDrawingGroup();
 
     /** Initializes the object manager for a new sheet. */
     void                StartSheet();
 
     /** Processes a drawing page and returns the record block containing all
         related records (MSODRAWING, OBJ, TXO, charts, etc.). */
-    ScfRef< XclExpRecordBase > ProcessDrawing( SdrPage* pSdrPage );
+    boost::shared_ptr< XclExpRecordBase > ProcessDrawing( SdrPage* pSdrPage );
     /** Processes a collection of UNO shapes and returns the record block
         containing all related records (MSODRAWING, OBJ, TXO, charts, etc.). */
-    ScfRef< XclExpRecordBase > ProcessDrawing( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes );
+    boost::shared_ptr< XclExpRecordBase > ProcessDrawing( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes );
 
     /** Finalizes the object manager after conversion of all sheets. */
     void                EndDocument();
@@ -451,10 +452,10 @@ private:
     void                InitStream( bool bTempFile );
 
 private:
-    ScfRef< ::utl::TempFile > mxTempFile;
-    ScfRef< SvStream >  mxDffStrm;
-    ScfRef< XclEscherEx > mxEscherEx;
-    ScfRef< XclExpObjList > mxObjList;
+    boost::shared_ptr< ::utl::TempFile > mxTempFile;
+    boost::shared_ptr< SvStream >  mxDffStrm;
+    boost::shared_ptr< XclEscherEx > mxEscherEx;
+    boost::shared_ptr< XclExpObjList > mxObjList;
 };
 
 // ----------------------------------------------------------------------------
diff --git a/sc/source/filter/inc/xeformula.hxx b/sc/source/filter/inc/xeformula.hxx
index 9a6492f..8a33679 100644
--- a/sc/source/filter/inc/xeformula.hxx
+++ b/sc/source/filter/inc/xeformula.hxx
@@ -31,6 +31,7 @@
 
 #include "xlformula.hxx"
 #include "xeroot.hxx"
+#include <boost/shared_ptr.hpp>
 
 // External reference log =====================================================
 
@@ -88,7 +89,7 @@ public:
     XclTokenArrayRef    CreateNameXFormula( sal_uInt16 nExtSheet, sal_uInt16 nExtName );
 
 private:
-    typedef ScfRef< XclExpFmlaCompImpl > XclExpFmlaCompImplRef;
+    typedef boost::shared_ptr< XclExpFmlaCompImpl > XclExpFmlaCompImplRef;
     XclExpFmlaCompImplRef mxImpl;
 };
 
diff --git a/sc/source/filter/inc/xehelper.hxx b/sc/source/filter/inc/xehelper.hxx
index 3df5374..db556b3 100644
--- a/sc/source/filter/inc/xehelper.hxx
+++ b/sc/source/filter/inc/xehelper.hxx
@@ -30,6 +30,7 @@
 #define SC_XEHELPER_HXX
 
 #include <boost/noncopyable.hpp>
+#include <boost/shared_ptr.hpp>
 #include "xladdress.hxx"
 #include "xeroot.hxx"
 #include "xestring.hxx"
@@ -183,7 +184,7 @@ class XclExpHyperlink;
 class XclExpHyperlinkHelper : protected XclExpRoot
 {
 public:
-    typedef ScfRef< XclExpHyperlink > XclExpHyperlinkRef;
+    typedef boost::shared_ptr< XclExpHyperlink > XclExpHyperlinkRef;
 
     explicit            XclExpHyperlinkHelper( const XclExpRoot& rRoot, const ScAddress& rScPos );
                         ~XclExpHyperlinkHelper();
diff --git a/sc/source/filter/inc/xelink.hxx b/sc/source/filter/inc/xelink.hxx
index ecdccae..866151d 100644
--- a/sc/source/filter/inc/xelink.hxx
+++ b/sc/source/filter/inc/xelink.hxx
@@ -35,6 +35,7 @@
 #include "xehelper.hxx"
 #include "xeformula.hxx"
 #include "externalrefmgr.hxx"
+#include <boost/shared_ptr.hpp>
 
 class ScRange;
 struct ScSingleRefData;
@@ -210,7 +211,7 @@ public:
     virtual void        Save( XclExpStream& rStrm );
 
 private:
-    typedef ScfRef< XclExpLinkManagerImpl > XclExpLinkMgrImplPtr;
+    typedef boost::shared_ptr< XclExpLinkManagerImpl > XclExpLinkMgrImplPtr;
     XclExpLinkMgrImplPtr mxImpl;
 };
 
diff --git a/sc/source/filter/inc/xename.hxx b/sc/source/filter/inc/xename.hxx
index 7fd7dd9..2b6a4c4 100644
--- a/sc/source/filter/inc/xename.hxx
+++ b/sc/source/filter/inc/xename.hxx
@@ -33,6 +33,7 @@
 #include "xlname.hxx"
 #include "xlformula.hxx"
 #include "xeroot.hxx"
+#include <boost/shared_ptr.hpp>
 
 // ============================================================================
 
@@ -80,7 +81,7 @@ public:
     virtual void        SaveXml( XclExpXmlStream& rStrm );
 
 private:
-    typedef ScfRef< XclExpNameManagerImpl > XclExpNameMgrImplRef;
+    typedef boost::shared_ptr< XclExpNameManagerImpl > XclExpNameMgrImplRef;
     XclExpNameMgrImplRef mxImpl;
 };
 
diff --git a/sc/source/filter/inc/xerecord.hxx b/sc/source/filter/inc/xerecord.hxx
index dc536e4..629e57b 100644
--- a/sc/source/filter/inc/xerecord.hxx
+++ b/sc/source/filter/inc/xerecord.hxx
@@ -31,6 +31,7 @@
 
 #include "xlconst.hxx"
 #include "xestream.hxx"
+#include <boost/shared_ptr.hpp>
 
 // Base classes to export Excel records =======================================
 
@@ -333,7 +334,7 @@ template< typename RecType = XclExpRecordBase >
 class XclExpRecordList : public XclExpRecordBase
 {
 public:
-    typedef ScfRef< RecType > RecordRefType;
+    typedef boost::shared_ptr< RecType > RecordRefType;
 
     /** Returns pointer to an existing record or 0 on error. */
     inline bool         IsEmpty() const { return maRecs.empty(); }
diff --git a/sc/source/filter/inc/xeroot.hxx b/sc/source/filter/inc/xeroot.hxx
index 0f87744..cac22f4 100644
--- a/sc/source/filter/inc/xeroot.hxx
+++ b/sc/source/filter/inc/xeroot.hxx
@@ -30,6 +30,7 @@
 #define SC_XEROOT_HXX
 
 #include "xlroot.hxx"
+#include <boost/shared_ptr.hpp>
 
 // Forward declarations of objects in public use ==============================
 
@@ -37,8 +38,8 @@ class XclExpStream;
 class XclExpRecordBase;
 class XclExpString;
 
-typedef ScfRef< XclExpRecordBase >  XclExpRecordRef;
-typedef ScfRef< XclExpString >      XclExpStringRef;
+typedef boost::shared_ptr< XclExpRecordBase >  XclExpRecordRef;
+typedef boost::shared_ptr< XclExpString >      XclExpStringRef;
 
 // Global data ================================================================
 
@@ -60,21 +61,21 @@ class XclExpPivotTableManager;
 /** Stores global buffers and data needed for Excel export filter. */
 struct XclExpRootData : public XclRootData
 {
-    typedef ScfRef< XclExpTabInfo >             XclExpTabInfoRef;
-    typedef ScfRef< XclExpAddressConverter >    XclExpAddrConvRef;
-    typedef ScfRef< XclExpFormulaCompiler >     XclExpFmlaCompRef;
-    typedef ScfRef< XclExpProgressBar >         XclExpProgressRef;
-
-    typedef ScfRef< XclExpSst >                 XclExpSstRef;
-    typedef ScfRef< XclExpPalette >             XclExpPaletteRef;
-    typedef ScfRef< XclExpFontBuffer >          XclExpFontBfrRef;
-    typedef ScfRef< XclExpNumFmtBuffer >        XclExpNumFmtBfrRef;
-    typedef ScfRef< XclExpXFBuffer >            XclExpXFBfrRef;
-    typedef ScfRef< XclExpNameManager >         XclExpNameMgrRef;
-    typedef ScfRef< XclExpLinkManager >         XclExpLinkMgrRef;
-    typedef ScfRef< XclExpObjectManager >       XclExpObjectMgrRef;
-    typedef ScfRef< XclExpFilterManager >       XclExpFilterMgrRef;
-    typedef ScfRef< XclExpPivotTableManager >   XclExpPTableMgrRef;
+    typedef boost::shared_ptr< XclExpTabInfo >             XclExpTabInfoRef;
+    typedef boost::shared_ptr< XclExpAddressConverter >    XclExpAddrConvRef;
+    typedef boost::shared_ptr< XclExpFormulaCompiler >     XclExpFmlaCompRef;
+    typedef boost::shared_ptr< XclExpProgressBar >         XclExpProgressRef;
+
+    typedef boost::shared_ptr< XclExpSst >                 XclExpSstRef;
+    typedef boost::shared_ptr< XclExpPalette >             XclExpPaletteRef;
+    typedef boost::shared_ptr< XclExpFontBuffer >          XclExpFontBfrRef;
+    typedef boost::shared_ptr< XclExpNumFmtBuffer >        XclExpNumFmtBfrRef;
+    typedef boost::shared_ptr< XclExpXFBuffer >            XclExpXFBfrRef;
+    typedef boost::shared_ptr< XclExpNameManager >         XclExpNameMgrRef;
+    typedef boost::shared_ptr< XclExpLinkManager >         XclExpLinkMgrRef;
+    typedef boost::shared_ptr< XclExpObjectManager >       XclExpObjectMgrRef;
+    typedef boost::shared_ptr< XclExpFilterManager >       XclExpFilterMgrRef;
+    typedef boost::shared_ptr< XclExpPivotTableManager >   XclExpPTableMgrRef;
 
     XclExpTabInfoRef    mxTabInfo;          /// Calc->Excel sheet index conversion.
     XclExpAddrConvRef   mxAddrConv;         /// The address converter.
diff --git a/sc/source/filter/inc/xestream.hxx b/sc/source/filter/inc/xestream.hxx
index 8c636ef..e00e1d5 100644
--- a/sc/source/filter/inc/xestream.hxx
+++ b/sc/source/filter/inc/xestream.hxx
@@ -52,7 +52,7 @@ Output stream class for Excel export
 
 class XclExpRoot;
 class XclExpBiff8Encrypter;
-typedef ScfRef< XclExpBiff8Encrypter > XclExpEncrypterRef;
+typedef boost::shared_ptr< XclExpBiff8Encrypter > XclExpEncrypterRef;
 
 /** This class is used to export Excel record streams.
     @descr  An instance is constructed with an SvStream and the maximum size of Excel
diff --git a/sc/source/filter/inc/xestyle.hxx b/sc/source/filter/inc/xestyle.hxx
index d0733f4..7d8f3dc 100644
--- a/sc/source/filter/inc/xestyle.hxx
+++ b/sc/source/filter/inc/xestyle.hxx
@@ -38,6 +38,7 @@
 #include "xerecord.hxx"
 #include "xlstyle.hxx"
 #include "xeroot.hxx"
+#include <boost/shared_ptr.hpp>
 
 /* ============================================================================
 - Buffers for style records (PALETTE, FONT, FORMAT, XF, STYLE).
@@ -125,7 +126,7 @@ private:
     virtual void        WriteBody( XclExpStream& rStrm );
 
 private:
-    typedef ScfRef< XclExpPaletteImpl > XclExpPaletteImplRef;
+    typedef boost::shared_ptr< XclExpPaletteImpl > XclExpPaletteImplRef;
     XclExpPaletteImplRef mxImpl;
 };
 
diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx
index 5641823..2ad4c45 100644
--- a/sc/source/filter/inc/xetable.hxx
+++ b/sc/source/filter/inc/xetable.hxx
@@ -100,7 +100,7 @@ protected:
     XclAddress          maBaseXclPos;   /// Address of base cell (first FORMULA record).
 };
 
-typedef ScfRef< XclExpRangeFmlaBase > XclExpRangeFmlaRef;
+typedef boost::shared_ptr< XclExpRangeFmlaBase > XclExpRangeFmlaRef;
 
 // Array formulas =============================================================
 
@@ -130,7 +130,7 @@ private:
     XclTokenArrayRef    mxTokArr;       /// The token array of a matrix formula.
 };
 
-typedef ScfRef< XclExpArray > XclExpArrayRef;
+typedef boost::shared_ptr< XclExpArray > XclExpArrayRef;
 
 // ----------------------------------------------------------------------------
 
@@ -181,7 +181,7 @@ private:
     sal_uInt8           mnUsedCount;    /// Number of FORMULA records referring to this record.
 };
 
-typedef ScfRef< XclExpShrfmla > XclExpShrfmlaRef;
+typedef boost::shared_ptr< XclExpShrfmla > XclExpShrfmlaRef;
 

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list