|
|
3769a47 |
diff --git a/basegfx/source/polygon/b2dpolygon.cxx b/basegfx/source/polygon/b2dpolygon.cxx
|
|
|
3769a47 |
index f88069b..4e578a9 100644
|
|
|
3769a47 |
--- a/basegfx/source/polygon/b2dpolygon.cxx
|
|
|
3769a47 |
+++ b/basegfx/source/polygon/b2dpolygon.cxx
|
|
|
3769a47 |
@@ -257,6 +257,8 @@ class ControlVectorPair2D
|
|
|
3769a47 |
basegfx::B2DVector maNextVector;
|
|
|
3769a47 |
|
|
|
3769a47 |
public:
|
|
|
3769a47 |
+ ControlVectorPair2D() {}
|
|
|
3769a47 |
+
|
|
|
3769a47 |
const basegfx::B2DVector& getPrevVector() const
|
|
|
3769a47 |
{
|
|
|
3769a47 |
return maPrevVector;
|
|
|
3769a47 |
diff --git a/basegfx/source/polygon/b2dsvgpolypolygon.cxx b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
|
|
|
3769a47 |
index 7f5ed07..51b8740 100644
|
|
|
3769a47 |
--- a/basegfx/source/polygon/b2dsvgpolypolygon.cxx
|
|
|
3769a47 |
+++ b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
|
|
|
3769a47 |
@@ -787,9 +787,9 @@ namespace basegfx
|
|
|
3769a47 |
// (since
|
|
|
3769a47 |
// createPolygonFromEllipseSegment()
|
|
|
3769a47 |
// normalizes to e.g. cw arc)
|
|
|
3769a47 |
- const bool bFlipSegment( (bLargeArcFlag!=0) ==
|
|
|
3769a47 |
- (fmod(fTheta2+2*M_PI-fTheta1,
|
|
|
3769a47 |
- 2*M_PI)
|
|
|
3769a47 |
+ const bool bLessThanPi(fmod(fTheta2+2*M_PI-fTheta1,
|
|
|
3769a47 |
+ 2*M_PI)
|
|
|
3769a47 |
+ const bool bFlipSegment( (bLargeArcFlag!=0) == bLessThanPi );
|
|
|
3769a47 |
if( bFlipSegment )
|
|
|
3769a47 |
std::swap(fTheta1,fTheta2);
|
|
|
3769a47 |
|
|
|
3769a47 |
diff --git a/cosv/inc/cosv/tpl/vvector.hxx b/cosv/inc/cosv/tpl/vvector.hxx
|
|
|
3769a47 |
index 4848d97..1903dce 100644
|
|
|
3769a47 |
--- a/cosv/inc/cosv/tpl/vvector.hxx
|
|
|
3769a47 |
+++ b/cosv/inc/cosv/tpl/vvector.hxx
|
|
|
3769a47 |
@@ -132,7 +132,7 @@ class VirtualVector
|
|
|
3769a47 |
typedef VirtualVector<XX,PTRDEL> self;
|
|
|
3769a47 |
typedef std::vector< DYN XX* > impl_type;
|
|
|
3769a47 |
typedef typename impl_type::size_type size_type;
|
|
|
3769a47 |
- typedef ptrdiff_t difference_type;
|
|
|
3769a47 |
+ typedef std::ptrdiff_t difference_type;
|
|
|
3769a47 |
|
|
|
3769a47 |
class const_iterator;
|
|
|
3769a47 |
class iterator;
|
|
|
3769a47 |
diff --git a/autodoc/source/display/idl/hi_linkhelper.hxx b/autodoc/source/display/idl/hi_linkhelper.hxx
|
|
|
3769a47 |
index c08be55..1cdfaa7 100644
|
|
|
3769a47 |
--- a/autodoc/source/display/idl/hi_linkhelper.hxx
|
|
|
3769a47 |
+++ b/autodoc/source/display/idl/hi_linkhelper.hxx
|
|
|
3769a47 |
@@ -85,9 +85,7 @@ class LinkHelper
|
|
|
3769a47 |
const String & XrefsSuffix() const;
|
|
|
3769a47 |
|
|
|
3769a47 |
private:
|
|
|
3769a47 |
- // DATA
|
|
|
3769a47 |
- mutable HtmlEnvironment_Idl &
|
|
|
3769a47 |
- rEnv;
|
|
|
3769a47 |
+ HtmlEnvironment_Idl & rEnv;
|
|
|
3769a47 |
};
|
|
|
3769a47 |
|
|
|
3769a47 |
inline const ary::idl::CodeEntity *
|
|
|
3769a47 |
diff --git a/autodoc/inc/ary/idl/i_ce2s.hxx b/autodoc/inc/ary/idl/i_ce2s.hxx
|
|
|
3769a47 |
index c490980..efb2711 100644
|
|
|
3769a47 |
--- a/autodoc/inc/ary/idl/i_ce2s.hxx
|
|
|
3769a47 |
+++ b/autodoc/inc/ary/idl/i_ce2s.hxx
|
|
|
3769a47 |
@@ -51,6 +51,7 @@ class Ce_2s
|
|
|
3769a47 |
{
|
|
|
3769a47 |
public:
|
|
|
3769a47 |
// LIFECYCLE
|
|
|
3769a47 |
+ Ce_2s() {}
|
|
|
3769a47 |
virtual ~Ce_2s();
|
|
|
3769a47 |
|
|
|
3769a47 |
static DYN Ce_2s * Create_(
|
|
|
3769a47 |
diff --git a/unotools/inc/unotools/streamwrap.hxx b/unotools/inc/unotools/streamwrap.hxx
|
|
|
3769a47 |
index 80cde76..4b53500 100644
|
|
|
3769a47 |
--- a/unotools/inc/unotools/streamwrap.hxx
|
|
|
3769a47 |
+++ b/unotools/inc/unotools/streamwrap.hxx
|
|
|
3769a47 |
@@ -51,7 +51,7 @@ namespace utl
|
|
|
3769a47 |
//==================================================================
|
|
|
3769a47 |
typedef ::cppu::WeakImplHelper1 < stario::XInputStream
|
|
|
3769a47 |
> InputStreamWrapper_Base;
|
|
|
3769a47 |
- // needed for some compilers
|
|
|
3769a47 |
+// needed for some compilers
|
|
|
3769a47 |
/// helper class for wrapping an SvStream into an <type scope="com.sun.star.io">XInputStream</type>
|
|
|
3769a47 |
class UNOTOOLS_DLLPUBLIC OInputStreamWrapper : public InputStreamWrapper_Base
|
|
|
3769a47 |
{
|
|
|
3769a47 |
@@ -69,9 +69,6 @@ public:
|
|
|
3769a47 |
OInputStreamWrapper(SvStream* pStream, sal_Bool bOwner=sal_False);
|
|
|
3769a47 |
virtual ~OInputStreamWrapper();
|
|
|
3769a47 |
|
|
|
3769a47 |
-// UNO Anbindung
|
|
|
3769a47 |
- DECLARE_UNO3_AGG_DEFAULTS(OInputStreamWrapper, InputStreamWrapper_Base);
|
|
|
3769a47 |
-
|
|
|
3769a47 |
// stario::XInputStream
|
|
|
3769a47 |
virtual sal_Int32 SAL_CALL readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
virtual sal_Int32 SAL_CALL readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
@@ -122,9 +119,6 @@ protected:
|
|
|
3769a47 |
public:
|
|
|
3769a47 |
OOutputStreamWrapper(SvStream& _rStream) :rStream(_rStream) { }
|
|
|
3769a47 |
|
|
|
3769a47 |
-// UNO Anbindung
|
|
|
3769a47 |
- DECLARE_UNO3_AGG_DEFAULTS(OOutputStreamWrapper, OutputStreamWrapper_Base);
|
|
|
3769a47 |
-
|
|
|
3769a47 |
// stario::XOutputStream
|
|
|
3769a47 |
virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
diff --git a/lotuswordpro/source/filter/xfilter/xfparastyle.hxx b/lotuswordpro/source/filter/xfilter/xfparastyle.hxx
|
|
|
3769a47 |
index fde03ae..ead40ff 100644
|
|
|
3769a47 |
--- a/lotuswordpro/source/filter/xfilter/xfparastyle.hxx
|
|
|
3769a47 |
+++ b/lotuswordpro/source/filter/xfilter/xfparastyle.hxx
|
|
|
3769a47 |
@@ -235,10 +235,7 @@ public:
|
|
|
3769a47 |
|
|
|
3769a47 |
sal_uInt32 GetFlag(){ return m_nFlag; }
|
|
|
3769a47 |
|
|
|
3769a47 |
- /**
|
|
|
3769a47 |
- * @descr return margins.
|
|
|
3769a47 |
- */
|
|
|
3769a47 |
- XFMargins GetMargins(){return m_aMargin;}
|
|
|
3769a47 |
+ XFMargins& GetMargins(){return m_aMargin;}
|
|
|
3769a47 |
|
|
|
3769a47 |
virtual enumXFStyle GetStyleFamily();
|
|
|
3769a47 |
|
|
|
3769a47 |
diff --git a/chart2/source/controller/main/ChartController.hxx b/chart2/source/controller/main/ChartController.hxx
|
|
|
3769a47 |
index 3927da9..93b1706 100644
|
|
|
3769a47 |
--- a/chart2/source/controller/main/ChartController.hxx
|
|
|
3769a47 |
+++ b/chart2/source/controller/main/ChartController.hxx
|
|
|
3769a47 |
@@ -545,7 +545,7 @@ private:
|
|
|
3769a47 |
TheModel* operator->() const { return m_pTheModel; }
|
|
|
3769a47 |
private:
|
|
|
3769a47 |
TheModel* m_pTheModel;
|
|
|
3769a47 |
- mutable ::osl::Mutex& m_rModelMutex;
|
|
|
3769a47 |
+ ::osl::Mutex& m_rModelMutex;
|
|
|
3769a47 |
};
|
|
|
3769a47 |
|
|
|
3769a47 |
private:
|
|
|
3769a47 |
diff --git a/writerperfect/source/filter/Style.hxx b/writerperfect/source/filter/Style.hxx
|
|
|
3769a47 |
index 2820415..d54f0c8 100644
|
|
|
3769a47 |
--- a/writerperfect/source/filter/Style.hxx
|
|
|
3769a47 |
+++ b/writerperfect/source/filter/Style.hxx
|
|
|
3769a47 |
@@ -34,7 +34,7 @@
|
|
|
3769a47 |
class TopLevelElementStyle
|
|
|
3769a47 |
{
|
|
|
3769a47 |
public:
|
|
|
3769a47 |
- TopLevelElementStyle() : mpsMasterPageName(NULL) { }
|
|
|
3769a47 |
+ TopLevelElementStyle() : mpsMasterPageName(0) { }
|
|
|
3769a47 |
virtual ~TopLevelElementStyle() { if (mpsMasterPageName) delete mpsMasterPageName; }
|
|
|
3769a47 |
void setMasterPageName(WPXString &sMasterPageName) { mpsMasterPageName = new WPXString(sMasterPageName); }
|
|
|
3769a47 |
const WPXString * getMasterPageName() const { return mpsMasterPageName; }
|
|
|
3769a47 |
diff --git a/filter/source/xmlfilteradaptor/streamwrap.hxx b/filter/source/xmlfilteradaptor/streamwrap.hxx
|
|
|
3769a47 |
index 369a7bb..2a1a2ce 100644
|
|
|
3769a47 |
--- a/filter/source/xmlfilteradaptor/streamwrap.hxx
|
|
|
3769a47 |
+++ b/filter/source/xmlfilteradaptor/streamwrap.hxx
|
|
|
3769a47 |
@@ -34,13 +34,6 @@
|
|
|
3769a47 |
#include <com/sun/star/io/XSeekable.hpp>
|
|
|
3769a47 |
#include <cppuhelper/implbase1.hxx>
|
|
|
3769a47 |
|
|
|
3769a47 |
-#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass) \
|
|
|
3769a47 |
-virtual void SAL_CALL acquire() throw() { baseclass::acquire(); } \
|
|
|
3769a47 |
-virtual void SAL_CALL release() throw() { baseclass::release(); } \
|
|
|
3769a47 |
-virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException) \
|
|
|
3769a47 |
-{ return baseclass::queryInterface(_rType); } \
|
|
|
3769a47 |
-void SAL_CALL PUT_SEMICOLON_AT_THE_END()
|
|
|
3769a47 |
-
|
|
|
3769a47 |
namespace osl
|
|
|
3769a47 |
{
|
|
|
3769a47 |
class File;
|
|
|
3769a47 |
@@ -63,9 +56,6 @@ class OOutputStreamWrapper : public OutputStreamWrapper_Base
|
|
|
3769a47 |
public:
|
|
|
3769a47 |
OOutputStreamWrapper(::osl::File& _rStream) :rStream(_rStream) { }
|
|
|
3769a47 |
|
|
|
3769a47 |
-// UNO Anbindung
|
|
|
3769a47 |
- DECLARE_UNO3_AGG_DEFAULTS(OOutputStreamWrapper, OutputStreamWrapper_Base);
|
|
|
3769a47 |
-
|
|
|
3769a47 |
// stario::XOutputStream
|
|
|
3769a47 |
virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
diff --git a/comphelper/inc/comphelper/oslfile2streamwrap.hxx b/comphelper/inc/comphelper/oslfile2streamwrap.hxx
|
|
|
3769a47 |
index d636666..4d6c454 100644
|
|
|
3769a47 |
--- a/comphelper/inc/comphelper/oslfile2streamwrap.hxx
|
|
|
3769a47 |
+++ b/comphelper/inc/comphelper/oslfile2streamwrap.hxx
|
|
|
3769a47 |
@@ -44,10 +44,7 @@ namespace comphelper
|
|
|
3769a47 |
// FmUnoIOStream,
|
|
|
3769a47 |
// stream zum schreiben un lesen von Daten, basieren auf File
|
|
|
3769a47 |
//==================================================================
|
|
|
3769a47 |
-struct InputStreamWrapper_Base : public ::cppu::WeakImplHelper1<stario::XInputStream>
|
|
|
3769a47 |
-{};
|
|
|
3769a47 |
-
|
|
|
3769a47 |
-class COMPHELPER_DLLPUBLIC OSLInputStreamWrapper : public InputStreamWrapper_Base
|
|
|
3769a47 |
+class COMPHELPER_DLLPUBLIC OSLInputStreamWrapper : public ::cppu::WeakImplHelper1<stario::XInputStream>
|
|
|
3769a47 |
{
|
|
|
3769a47 |
::osl::Mutex m_aMutex;
|
|
|
3769a47 |
::osl::File* m_pFile;
|
|
|
3769a47 |
@@ -58,14 +55,6 @@ public:
|
|
|
3769a47 |
OSLInputStreamWrapper(::osl::File* pStream, sal_Bool bOwner=sal_False);
|
|
|
3769a47 |
virtual ~OSLInputStreamWrapper();
|
|
|
3769a47 |
|
|
|
3769a47 |
-// UNO Anbindung
|
|
|
3769a47 |
- virtual void SAL_CALL acquire() throw()
|
|
|
3769a47 |
- { InputStreamWrapper_Base::acquire(); }
|
|
|
3769a47 |
- virtual void SAL_CALL release() throw()
|
|
|
3769a47 |
- { InputStreamWrapper_Base::release(); }
|
|
|
3769a47 |
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException)
|
|
|
3769a47 |
- { return InputStreamWrapper_Base::queryInterface(_rType); }
|
|
|
3769a47 |
-
|
|
|
3769a47 |
// stario::XInputStream
|
|
|
3769a47 |
virtual sal_Int32 SAL_CALL readBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
virtual sal_Int32 SAL_CALL readSomeBytes(staruno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
@@ -78,24 +67,13 @@ public:
|
|
|
3769a47 |
// FmUnoOutStream,
|
|
|
3769a47 |
// Datensenke fuer Files
|
|
|
3769a47 |
//==================================================================
|
|
|
3769a47 |
-struct OutputStreamWrapper_Base : public ::cppu::WeakImplHelper1<stario::XOutputStream>
|
|
|
3769a47 |
-{};
|
|
|
3769a47 |
-
|
|
|
3769a47 |
-class COMPHELPER_DLLPUBLIC OSLOutputStreamWrapper : public OutputStreamWrapper_Base
|
|
|
3769a47 |
+class COMPHELPER_DLLPUBLIC OSLOutputStreamWrapper : public ::cppu::WeakImplHelper1<stario::XOutputStream>
|
|
|
3769a47 |
{
|
|
|
3769a47 |
::osl::File& rFile;
|
|
|
3769a47 |
|
|
|
3769a47 |
public:
|
|
|
3769a47 |
OSLOutputStreamWrapper(::osl::File& _rFile) :rFile(_rFile) { }
|
|
|
3769a47 |
|
|
|
3769a47 |
-// UNO Anbindung
|
|
|
3769a47 |
- virtual void SAL_CALL acquire() throw()
|
|
|
3769a47 |
- { OutputStreamWrapper_Base::acquire(); }
|
|
|
3769a47 |
- virtual void SAL_CALL release() throw()
|
|
|
3769a47 |
- { OutputStreamWrapper_Base::release(); }
|
|
|
3769a47 |
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(const ::com::sun::star::uno::Type& _rType) throw (::com::sun::star::uno::RuntimeException)
|
|
|
3769a47 |
- { return OutputStreamWrapper_Base::queryInterface(_rType); }
|
|
|
3769a47 |
-
|
|
|
3769a47 |
// stario::XOutputStream
|
|
|
3769a47 |
virtual void SAL_CALL writeBytes(const staruno::Sequence< sal_Int8 >& aData) throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
virtual void SAL_CALL flush() throw(stario::NotConnectedException, stario::BufferSizeExceededException, staruno::RuntimeException);
|
|
|
3769a47 |
diff --git a/sc/source/filter/inc/xeroot.hxx b/sc/source/filter/inc/xeroot.hxx
|
|
|
3769a47 |
index cac22f4..dc8652e 100644
|
|
|
3769a47 |
--- a/sc/source/filter/inc/xeroot.hxx
|
|
|
3769a47 |
+++ b/sc/source/filter/inc/xeroot.hxx
|
|
|
3769a47 |
@@ -168,7 +168,7 @@ private:
|
|
|
3769a47 |
XclExpRootData::XclExpLinkMgrRef GetLocalLinkMgrRef() const;
|
|
|
3769a47 |
|
|
|
3769a47 |
private:
|
|
|
3769a47 |
- mutable XclExpRootData& mrExpData; /// Reference to the global export data struct.
|
|
|
3769a47 |
+ XclExpRootData& mrExpData; /// Reference to the global export data struct.
|
|
|
3769a47 |
};
|
|
|
3769a47 |
|
|
|
3769a47 |
// ============================================================================
|
|
|
3769a47 |
diff --git a/sc/source/filter/inc/xiroot.hxx b/sc/source/filter/inc/xiroot.hxx
|
|
|
3769a47 |
index 1b4153e..83953e3 100644
|
|
|
3769a47 |
--- a/sc/source/filter/inc/xiroot.hxx
|
|
|
3769a47 |
+++ b/sc/source/filter/inc/xiroot.hxx
|
|
|
3769a47 |
@@ -218,7 +218,7 @@ public:
|
|
|
3769a47 |
void ReadCodeName( XclImpStream& rStrm, bool bGlobals );
|
|
|
3769a47 |
|
|
|
3769a47 |
private:
|
|
|
3769a47 |
- mutable XclImpRootData& mrImpData; /// Reference to the global import data struct.
|
|
|
3769a47 |
+ XclImpRootData& mrImpData; /// Reference to the global import data struct.
|
|
|
3769a47 |
};
|
|
|
3769a47 |
|
|
|
3769a47 |
// ============================================================================
|
|
|
3769a47 |
diff --git a/sc/source/filter/inc/xlroot.hxx b/sc/source/filter/inc/xlroot.hxx
|
|
|
3769a47 |
index 5e132fa..3f9f6fa 100644
|
|
|
3769a47 |
--- a/sc/source/filter/inc/xlroot.hxx
|
|
|
3769a47 |
+++ b/sc/source/filter/inc/xlroot.hxx
|
|
|
3769a47 |
@@ -285,7 +285,7 @@ public:
|
|
|
3769a47 |
inline void IncCurrScTab() { ++mrData.mnScTab; }
|
|
|
3769a47 |
|
|
|
3769a47 |
private:
|
|
|
3769a47 |
- mutable XclRootData& mrData; /// Reference to the global data struct.
|
|
|
3769a47 |
+ XclRootData& mrData; /// Reference to the global data struct.
|
|
|
3769a47 |
};
|
|
|
3769a47 |
|
|
|
3769a47 |
// ============================================================================
|
|
|
3769a47 |
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.hxx b/dbaccess/source/core/dataaccess/documentdefinition.hxx
|
|
|
3769a47 |
index f74b6ac..e51b959 100644
|
|
|
3769a47 |
--- a/dbaccess/source/core/dataaccess/documentdefinition.hxx
|
|
|
3769a47 |
+++ b/dbaccess/source/core/dataaccess/documentdefinition.hxx
|
|
|
3769a47 |
@@ -374,7 +374,7 @@ private:
|
|
|
3769a47 |
ODocumentDefinition& m_rDocumentDefinition;
|
|
|
3769a47 |
const ::com::sun::star::uno::Any m_aOldValue;
|
|
|
3769a47 |
const ::com::sun::star::uno::Any m_aNewValue;
|
|
|
3769a47 |
- mutable ::osl::ResettableMutexGuard& m_rClearForNotify;
|
|
|
3769a47 |
+ ::osl::ResettableMutexGuard& m_rClearForNotify;
|
|
|
3769a47 |
|
|
|
3769a47 |
void impl_fireEvent_throw( const sal_Bool i_bVetoable );
|
|
|
3769a47 |
};
|
|
|
3769a47 |
diff --git a/hwpfilter/source/list.hxx b/hwpfilter/source/list.hxx
|
|
|
3769a47 |
index 043a214..02f6e00 100644
|
|
|
3769a47 |
--- a/hwpfilter/source/list.hxx
|
|
|
3769a47 |
+++ b/hwpfilter/source/list.hxx
|
|
|
3769a47 |
@@ -41,6 +41,7 @@
|
|
|
3769a47 |
* re-implements the same functionality, based on the STL.
|
|
|
3769a47 |
*/
|
|
|
3769a47 |
|
|
|
3769a47 |
+#include <cstddef>
|
|
|
3769a47 |
#include <vector>
|
|
|
3769a47 |
|
|
|
3769a47 |
template<class T>
|