From 5d5c4686badbf67aa25b18701f25d90fa8b4e42a Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 28 Oct 2015 16:14:12 +0200 Subject: remove boost::noncopyable from /include Change-Id: I9fa22b06fabf79043ebc68be7afebc6e810f4db1 --- include/basebmp/bitmapdevice.hxx | 6 +++--- include/canvas/parametricpolypolygon.hxx | 6 +++--- include/canvas/rendering/irendermodule.hxx | 5 +++-- include/canvas/spriteredrawmanager.hxx | 6 +++--- include/cppcanvas/spritecanvas.hxx | 6 ++++-- include/drawinglayer/primitive2d/baseprimitive2d.hxx | 10 ++++------ include/drawinglayer/primitive3d/baseprimitive3d.hxx | 8 +++----- include/filter/msfilter/svdfppt.hxx | 11 ++++++++--- include/formula/omoduleclient.hxx | 5 +++-- include/linguistic/spelldta.hxx | 4 ++-- include/sfx2/DocumentMetadataAccess.hxx | 5 ++--- include/sfx2/fcontnr.hxx | 10 ++++++---- include/sfx2/sidebar/Accessible.hxx | 7 +++---- include/sfx2/sidebar/SidebarController.hxx | 6 +++--- include/sfx2/sidebar/SidebarPanelBase.hxx | 6 +++--- include/sfx2/sidebar/Theme.hxx | 6 +++--- include/sfx2/userinputinterception.hxx | 5 +++-- include/svl/asiancfg.hxx | 6 +++--- include/svtools/svparser.hxx | 6 +++--- include/svtools/toolpanel/tablayouter.hxx | 5 ++--- include/svtools/toolpanel/toolpanel.hxx | 5 ++--- include/unotest/officeconnection.hxx | 7 ++++--- 22 files changed, 73 insertions(+), 68 deletions(-) diff --git a/include/basebmp/bitmapdevice.hxx b/include/basebmp/bitmapdevice.hxx index 924d505a9e75..f3c4f5b3484f 100644 --- a/include/basebmp/bitmapdevice.hxx +++ b/include/basebmp/bitmapdevice.hxx @@ -26,7 +26,6 @@ #include #include -#include #include #include @@ -74,8 +73,7 @@ protected: works best when given as an eight bit grey bitmap. Everything else is accepted, but potentially slow. */ -class BASEBMP_DLLPUBLIC BitmapDevice : public std::enable_shared_from_this, - private boost::noncopyable +class BASEBMP_DLLPUBLIC BitmapDevice : public std::enable_shared_from_this { public: /** Query size of device in pixel columns (X) and rows (Y, "scanlines") @@ -561,6 +559,8 @@ protected: const RawMemorySharedArray& rMem, const PaletteMemorySharedVector& rPalette ); BASEBMP_DLLPRIVATE virtual ~BitmapDevice(); + BitmapDevice(const BitmapDevice&) = delete; + BitmapDevice& operator=( const BitmapDevice& ) = delete; private: BASEBMP_DLLPRIVATE virtual bool isCompatibleBitmap( const BitmapDeviceSharedPtr& bmp ) const = 0; diff --git a/include/canvas/parametricpolypolygon.hxx b/include/canvas/parametricpolypolygon.hxx index b3cda554e7de..481729bbc10c 100644 --- a/include/canvas/parametricpolypolygon.hxx +++ b/include/canvas/parametricpolypolygon.hxx @@ -27,7 +27,6 @@ #include #include -#include #include namespace basegfx @@ -45,8 +44,7 @@ namespace canvas css::lang::XServiceInfo > ParametricPolyPolygon_Base; class CANVASTOOLS_DLLPUBLIC ParametricPolyPolygon : public ::comphelper::OBaseMutex, - public ParametricPolyPolygon_Base, - private ::boost::noncopyable + public ParametricPolyPolygon_Base { public: enum GradientType @@ -117,6 +115,8 @@ namespace canvas protected: virtual ~ParametricPolyPolygon(); // we're a ref-counted UNO class. _We_ destroy ourselves. + ParametricPolyPolygon(const ParametricPolyPolygon&) = delete; + ParametricPolyPolygon& operator=( const ParametricPolyPolygon& ) = delete; private: static ParametricPolyPolygon* createLinearHorizontalGradient( const css::uno::Reference< diff --git a/include/canvas/rendering/irendermodule.hxx b/include/canvas/rendering/irendermodule.hxx index 2e78d1ee2f19..9eeffa57c828 100644 --- a/include/canvas/rendering/irendermodule.hxx +++ b/include/canvas/rendering/irendermodule.hxx @@ -21,7 +21,6 @@ #define INCLUDED_CANVAS_RENDERING_IRENDERMODULE_HXX #include -#include #include namespace basegfx @@ -117,7 +116,7 @@ namespace canvas typedef std::shared_ptr< IRenderModule > IRenderModuleSharedPtr; /// Little RAII wrapper for guarding access to IRenderModule interface - class RenderModuleGuard : private ::boost::noncopyable + class RenderModuleGuard { public: explicit RenderModuleGuard( const IRenderModuleSharedPtr& rRenderModule ) : @@ -131,6 +130,8 @@ namespace canvas mpRenderModule->unlock(); } + RenderModuleGuard(const RenderModuleGuard&) = delete; + RenderModuleGuard& operator=( const RenderModuleGuard& ) = delete; private: const IRenderModuleSharedPtr mpRenderModule; }; diff --git a/include/canvas/spriteredrawmanager.hxx b/include/canvas/spriteredrawmanager.hxx index e34d127b2836..7a35527f3fc6 100644 --- a/include/canvas/spriteredrawmanager.hxx +++ b/include/canvas/spriteredrawmanager.hxx @@ -32,8 +32,6 @@ #include #include -#include - #include /* Definition of SpriteRedrawManager class */ @@ -58,7 +56,7 @@ namespace canvas there) will reside in a common sprite area and handled together in the forEachSpriteArea functor call. */ - class CANVASTOOLS_DLLPUBLIC SpriteRedrawManager : private ::boost::noncopyable + class CANVASTOOLS_DLLPUBLIC SpriteRedrawManager { public: /** Data container for the connected components list @@ -195,6 +193,8 @@ namespace canvas typedef ::std::vector< Sprite::Reference > VectorOfSprites; SpriteRedrawManager(); + SpriteRedrawManager(const SpriteRedrawManager&) = delete; + SpriteRedrawManager& operator=( const SpriteRedrawManager& ) = delete; /** Must be called when user of this object gets disposed. Frees all internal references. diff --git a/include/cppcanvas/spritecanvas.hxx b/include/cppcanvas/spritecanvas.hxx index 1c312bf0ce71..fc449dee5a95 100644 --- a/include/cppcanvas/spritecanvas.hxx +++ b/include/cppcanvas/spritecanvas.hxx @@ -26,7 +26,6 @@ #include #include #include -#include #include namespace com { namespace sun { namespace star { namespace rendering @@ -46,9 +45,12 @@ namespace cppcanvas /** SpriteCanvas interface */ - class SpriteCanvas : public virtual Canvas, private boost::noncopyable + class SpriteCanvas : public virtual Canvas { + SpriteCanvas(const SpriteCanvas&) = delete; + SpriteCanvas& operator=( const SpriteCanvas& ) = delete; public: + SpriteCanvas() {} virtual bool updateScreen( bool bUpdateAll ) const = 0; virtual CustomSpriteSharedPtr createCustomSprite( const ::basegfx::B2DSize& ) const = 0; diff --git a/include/drawinglayer/primitive2d/baseprimitive2d.hxx b/include/drawinglayer/primitive2d/baseprimitive2d.hxx index 12b4b83b66cc..860b9a422c99 100644 --- a/include/drawinglayer/primitive2d/baseprimitive2d.hxx +++ b/include/drawinglayer/primitive2d/baseprimitive2d.hxx @@ -23,7 +23,6 @@ #include #include -#include #include #include #include @@ -70,7 +69,7 @@ namespace drawinglayer This is by purpose, this base class shall not be incarnated and be used directly as a XPrimitive2D. - It is derived from boost::noncopyable to make clear that a primitive is a read-only + It is noncopyable to make clear that a primitive is a read-only instance and copying or changing values is not intended. The idea is to hold all data needed for visualisation of this primitive in unchangeable form. @@ -136,12 +135,11 @@ namespace drawinglayer in their get2DDecomposition/getB2DRange implementations. */ class DRAWINGLAYER_DLLPUBLIC BasePrimitive2D - : private boost::noncopyable, - protected comphelper::OBaseMutex, + : protected comphelper::OBaseMutex, public BasePrimitive2DImplBase { - private: - protected: + BasePrimitive2D(const BasePrimitive2D&) = delete; + BasePrimitive2D& operator=( const BasePrimitive2D& ) = delete; public: // constructor/destructor BasePrimitive2D(); diff --git a/include/drawinglayer/primitive3d/baseprimitive3d.hxx b/include/drawinglayer/primitive3d/baseprimitive3d.hxx index 1cf0374109d6..159108835fde 100644 --- a/include/drawinglayer/primitive3d/baseprimitive3d.hxx +++ b/include/drawinglayer/primitive3d/baseprimitive3d.hxx @@ -23,7 +23,6 @@ #include #include -#include #include #include #include @@ -77,12 +76,11 @@ namespace drawinglayer That's all for 3D! */ class DRAWINGLAYER_DLLPUBLIC BasePrimitive3D - : private boost::noncopyable, - protected comphelper::OBaseMutex, + : protected comphelper::OBaseMutex, public BasePrimitive3DImplBase { - private: - protected: + BasePrimitive3D(const BasePrimitive3D&) = delete; + BasePrimitive3D& operator=( const BasePrimitive3D& ) = delete; public: // constructor/destructor BasePrimitive3D(); diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx index bd37a8e7107f..793b80e67715 100644 --- a/include/filter/msfilter/svdfppt.hxx +++ b/include/filter/msfilter/svdfppt.hxx @@ -38,7 +38,6 @@ #include #include #include -#include #include class SdrModel; @@ -323,8 +322,11 @@ public: struct ProcessData; struct PPTStyleSheet; struct HeaderFooterEntry; -struct PptSlidePersistEntry : private boost::noncopyable +struct PptSlidePersistEntry { + PptSlidePersistEntry(const PptSlidePersistEntry&) = delete; + PptSlidePersistEntry& operator=( const PptSlidePersistEntry& ) = delete; + PptSlidePersistAtom aPersistAtom; PptSlideAtom aSlideAtom; PptNotesAtom aNotesAtom; @@ -356,9 +358,12 @@ public: #define PPTSLIDEPERSIST_ENTRY_NOTFOUND 0xFFFF -class MSFILTER_DLLPUBLIC PptSlidePersistList: private boost::noncopyable +class MSFILTER_DLLPUBLIC PptSlidePersistList { private: + PptSlidePersistList(const PptSlidePersistList&) = delete; + PptSlidePersistList& operator=( const PptSlidePersistList& ) = delete; + typedef std::vector> Entries_t; Entries_t mvEntries; diff --git a/include/formula/omoduleclient.hxx b/include/formula/omoduleclient.hxx index 258f9f8aebc9..3af3399bed8d 100644 --- a/include/formula/omoduleclient.hxx +++ b/include/formula/omoduleclient.hxx @@ -22,15 +22,16 @@ #include -#include #include namespace formula { /** Base class for objects which use any global module-specific resources. */ -class FORMULA_DLLPUBLIC OModuleClient: private boost::noncopyable +class FORMULA_DLLPUBLIC OModuleClient { + OModuleClient(const OModuleClient&) = delete; + OModuleClient& operator=( const OModuleClient& ) = delete; public: OModuleClient(); ~OModuleClient(); diff --git a/include/linguistic/spelldta.hxx b/include/linguistic/spelldta.hxx index 5e56574f09dd..5475afc9c5c3 100644 --- a/include/linguistic/spelldta.hxx +++ b/include/linguistic/spelldta.hxx @@ -26,7 +26,6 @@ #include #include #include -#include namespace com { namespace sun { namespace star { namespace linguistic2 { @@ -64,7 +63,6 @@ class SpellAlternatives css::linguistic2::XSpellAlternatives, css::linguistic2::XSetSpellAlternatives > - , private ::boost::noncopyable { css::uno::Sequence< OUString > aAlt; // list of alternatives, may be empty. OUString aWord; @@ -76,6 +74,8 @@ public: SpellAlternatives(const OUString &rWord, sal_Int16 nLang, sal_Int16 nFailureType, const css::uno::Sequence< OUString > &rAlternatives ); virtual ~SpellAlternatives(); + SpellAlternatives(const SpellAlternatives&) = delete; + SpellAlternatives& operator=( const SpellAlternatives& ) = delete; // XSpellAlternatives virtual OUString SAL_CALL getWord( ) throw (css::uno::RuntimeException, std::exception) override; diff --git a/include/sfx2/DocumentMetadataAccess.hxx b/include/sfx2/DocumentMetadataAccess.hxx index 0433e4547a6c..131fa4e336c1 100644 --- a/include/sfx2/DocumentMetadataAccess.hxx +++ b/include/sfx2/DocumentMetadataAccess.hxx @@ -30,8 +30,6 @@ #include -#include - #include @@ -72,9 +70,10 @@ struct DocumentMetadataAccess_Impl; class SFX2_DLLPUBLIC DocumentMetadataAccess : - private boost::noncopyable, public ::cppu::WeakImplHelper1< css::rdf::XDocumentMetadataAccess> { + DocumentMetadataAccess(const DocumentMetadataAccess&) = delete; + DocumentMetadataAccess& operator=( const DocumentMetadataAccess& ) = delete; public: explicit DocumentMetadataAccess(css::uno::Reference< css::uno::XComponentContext > const & i_xContext, IXmlIdRegistrySupplier const & i_rRegistrySupplier, diff --git a/include/sfx2/fcontnr.hxx b/include/sfx2/fcontnr.hxx index bb342d574fc3..2f962ff5cb8d 100644 --- a/include/sfx2/fcontnr.hxx +++ b/include/sfx2/fcontnr.hxx @@ -32,8 +32,6 @@ #include -#include - namespace vcl { class Window; } class SfxFilter; class SfxObjectFactory; @@ -93,7 +91,7 @@ public: class SfxFilterMatcher_Impl; -class SFX2_DLLPUBLIC SfxFilterMatcher : private boost::noncopyable +class SFX2_DLLPUBLIC SfxFilterMatcher { friend class SfxFilterMatcherIter; SfxFilterMatcher_Impl &m_rImpl; @@ -101,6 +99,8 @@ public: SfxFilterMatcher( const OUString& rFact ); SfxFilterMatcher(); ~SfxFilterMatcher(); + SfxFilterMatcher(const SfxFilterMatcher&) = delete; + SfxFilterMatcher& operator=( const SfxFilterMatcher& ) = delete; SAL_DLLPRIVATE static bool IsFilterInstalled_Impl( const SfxFilter* pFilter ); DECL_DLLPRIVATE_LINK_TYPED( MaybeFileHdl_Impl, OUString*, bool ); @@ -121,7 +121,7 @@ public: }; class SfxFilterContainer_Impl; -class SFX2_DLLPUBLIC SfxFilterMatcherIter : private boost::noncopyable +class SFX2_DLLPUBLIC SfxFilterMatcherIter { SfxFilterFlags nOrMask; @@ -133,6 +133,8 @@ class SFX2_DLLPUBLIC SfxFilterMatcherIter : private boost::noncopyable public: SfxFilterMatcherIter( const SfxFilterMatcher& rMatcher, SfxFilterFlags nMask = SfxFilterFlags::NONE, SfxFilterFlags nNotMask = SFX_FILTER_NOTINSTALLED ); + SfxFilterMatcherIter(const SfxFilterMatcherIter&) = delete; + SfxFilterMatcherIter& operator=( const SfxFilterMatcherIter& ) = delete; const SfxFilter* First(); const SfxFilter* Next(); }; diff --git a/include/sfx2/sidebar/Accessible.hxx b/include/sfx2/sidebar/Accessible.hxx index 80ca92607203..434e7aad43c6 100644 --- a/include/sfx2/sidebar/Accessible.hxx +++ b/include/sfx2/sidebar/Accessible.hxx @@ -19,8 +19,6 @@ #ifndef INCLUDED_SFX2_SOURCE_SIDEBAR_ACCESSIBLE_HXX #define INCLUDED_SFX2_SOURCE_SIDEBAR_ACCESSIBLE_HXX -#include - #include #include @@ -42,14 +40,15 @@ namespace sfx2 { namespace sidebar { to its constructor. */ class Accessible - : private ::boost::noncopyable, - private ::cppu::BaseMutex, + : private ::cppu::BaseMutex, public AccessibleInterfaceBase { public: explicit Accessible ( const css::uno::Reference& rxContext); virtual ~Accessible(); + Accessible(const Accessible&) = delete; + Accessible& operator=( const Accessible& ) = delete; virtual void SAL_CALL disposing() override; // XAccessible diff --git a/include/sfx2/sidebar/SidebarController.hxx b/include/sfx2/sidebar/SidebarController.hxx index 1774fe140742..f7cc1192c2b2 100644 --- a/include/sfx2/sidebar/SidebarController.hxx +++ b/include/sfx2/sidebar/SidebarController.hxx @@ -37,7 +37,6 @@ #include #include -#include #include #include #include @@ -66,8 +65,7 @@ class TabBar; class TabBarConfiguration; class SFX2_DLLPUBLIC SidebarController - : private ::boost::noncopyable, - private ::cppu::BaseMutex, + : private ::cppu::BaseMutex, public SidebarControllerInterfaceBase { public: @@ -75,6 +73,8 @@ public: SidebarDockingWindow* pParentWindow, const css::uno::Reference& rxFrame); virtual ~SidebarController(); + SidebarController(const SidebarController&) = delete; + SidebarController& operator=( const SidebarController& ) = delete; /** Return the SidebarController object that is associated with the given XFrame. diff --git a/include/sfx2/sidebar/SidebarPanelBase.hxx b/include/sfx2/sidebar/SidebarPanelBase.hxx index d71d9662602a..41e15348299a 100644 --- a/include/sfx2/sidebar/SidebarPanelBase.hxx +++ b/include/sfx2/sidebar/SidebarPanelBase.hxx @@ -32,7 +32,6 @@ #include #include -#include #include @@ -54,8 +53,7 @@ typedef cppu::WeakComponentImplHelper5& rxFrame, vcl::Window* pWindow, const css::ui::LayoutSize& rLayoutSize); virtual ~SidebarPanelBase(); + SidebarPanelBase(const SidebarPanelBase&) = delete; + SidebarPanelBase& operator=( const SidebarPanelBase& ) = delete; virtual void SAL_CALL disposing() throw (css::uno::RuntimeException) override; diff --git a/include/sfx2/sidebar/Theme.hxx b/include/sfx2/sidebar/Theme.hxx index 95e875003c63..a4c823c0e87d 100644 --- a/include/sfx2/sidebar/Theme.hxx +++ b/include/sfx2/sidebar/Theme.hxx @@ -34,7 +34,6 @@ #include #include #include -#include class SvBorder; @@ -56,8 +55,7 @@ class Paint; look of the sidebar and its controls. */ class SFX2_DLLPUBLIC Theme - : private ::boost::noncopyable, - private ::cppu::BaseMutex, + : private ::cppu::BaseMutex, public ThemeInterfaceBase { public: @@ -154,6 +152,8 @@ public: Theme(); virtual ~Theme(); + Theme(const Theme&) = delete; + Theme& operator=( const Theme& ) = delete; virtual void SAL_CALL disposing() override; diff --git a/include/sfx2/userinputinterception.hxx b/include/sfx2/userinputinterception.hxx index 9f0cff06f879..54462aafd34c 100644 --- a/include/sfx2/userinputinterception.hxx +++ b/include/sfx2/userinputinterception.hxx @@ -24,7 +24,6 @@ #include -#include #include class NotifyEvent; @@ -43,11 +42,13 @@ namespace sfx2 /** helper class for implementing the XUserInputInterception interface for a controller implementation */ - class SFX2_DLLPUBLIC UserInputInterception : public ::boost::noncopyable + class SFX2_DLLPUBLIC UserInputInterception { public: UserInputInterception( ::cppu::OWeakObject& _rControllerImpl, ::osl::Mutex& _rMutex ); ~UserInputInterception(); + UserInputInterception(const UserInputInterception&) = delete; + UserInputInterception& operator=( const UserInputInterception& ) = delete; // delegator functions for your XUserInputInterception implementation void addKeyHandler( const css::uno::Reference< css::awt::XKeyHandler >& xHandler ) throw (css::uno::RuntimeException); diff --git a/include/svl/asiancfg.hxx b/include/svl/asiancfg.hxx index 738d127933e4..71662c4a57f7 100644 --- a/include/svl/asiancfg.hxx +++ b/include/svl/asiancfg.hxx @@ -22,7 +22,6 @@ #include -#include #include #include #include @@ -32,11 +31,12 @@ namespace com { namespace sun { namespace star { namespace lang { struct Locale; } } } } -class SVL_DLLPUBLIC SvxAsianConfig: private boost::noncopyable { +class SVL_DLLPUBLIC SvxAsianConfig { public: SvxAsianConfig(); - ~SvxAsianConfig(); + SvxAsianConfig(const SvxAsianConfig&) = delete; + SvxAsianConfig& operator=( const SvxAsianConfig& ) = delete; void Commit(); diff --git a/include/svtools/svparser.hxx b/include/svtools/svparser.hxx index 7c595fbd1a11..a91e6a3f0060 100644 --- a/include/svtools/svparser.hxx +++ b/include/svtools/svparser.hxx @@ -26,7 +26,6 @@ #include #include #include -#include #include struct SvParser_Impl; @@ -228,8 +227,7 @@ public: * *======================================================================*/ -class SVT_DLLPUBLIC SvKeyValueIterator : public SvRefBase, - private boost::noncopyable +class SVT_DLLPUBLIC SvKeyValueIterator : public SvRefBase { struct Impl; Impl* mpImpl; @@ -239,6 +237,8 @@ public: */ SvKeyValueIterator(); virtual ~SvKeyValueIterator(); + SvKeyValueIterator(const SvKeyValueIterator&) = delete; + SvKeyValueIterator& operator=( const SvKeyValueIterator& ) = delete; /** Operation. */ diff --git a/include/svtools/toolpanel/tablayouter.hxx b/include/svtools/toolpanel/tablayouter.hxx index 79271a8e94cb..6bcb4a3f3baf 100644 --- a/include/svtools/toolpanel/tablayouter.hxx +++ b/include/svtools/toolpanel/tablayouter.hxx @@ -28,8 +28,6 @@ #include -#include - namespace vcl { class Window; } @@ -45,8 +43,9 @@ namespace svt //= TabDeckLayouter class SVT_DLLPUBLIC TabDeckLayouter :public IDeckLayouter - ,public ::boost::noncopyable { + TabDeckLayouter(const TabDeckLayouter&) = delete; + TabDeckLayouter& operator=( const TabDeckLayouter& ) = delete; public: /** creates a new layouter @param i_rParent diff --git a/include/svtools/toolpanel/toolpanel.hxx b/include/svtools/toolpanel/toolpanel.hxx index a6ae92a4fb00..e2c9aef2161a 100644 --- a/include/svtools/toolpanel/toolpanel.hxx +++ b/include/svtools/toolpanel/toolpanel.hxx @@ -27,8 +27,6 @@ #include #include -#include - class Rectangle; namespace vcl { class Window; } namespace com { namespace sun { namespace star { namespace accessibility { @@ -119,8 +117,9 @@ namespace svt but still being abstract */ class SVT_DLLPUBLIC ToolPanelBase :public IToolPanel - ,public ::boost::noncopyable { + ToolPanelBase(const ToolPanelBase&) = delete; + ToolPanelBase& operator=( const ToolPanelBase& ) = delete; protected: ToolPanelBase(); virtual ~ToolPanelBase(); diff --git a/include/unotest/officeconnection.hxx b/include/unotest/officeconnection.hxx index eb00d261a299..e23e93cd3d51 100644 --- a/include/unotest/officeconnection.hxx +++ b/include/unotest/officeconnection.hxx @@ -22,7 +22,6 @@ #include -#include #include #include #include @@ -35,10 +34,12 @@ namespace test { // Start up and shut down an OOo instance (details about the OOo instance are // tunneled in via "arg-..." bootstrap variables): -class OOO_DLLPUBLIC_UNOTEST OfficeConnection: private boost::noncopyable { +class OOO_DLLPUBLIC_UNOTEST OfficeConnection +{ + OfficeConnection(const OfficeConnection&) = delete; + OfficeConnection& operator=( const OfficeConnection& ) = delete; public: OfficeConnection(); - ~OfficeConnection(); void setUp(); -- cgit