@@ -33,6 +33,10 @@ class DefinitionImpl
3333 const QCString &name,const char *b=nullptr ,const char *d=nullptr ,
3434 bool isSymbol=TRUE );
3535 ~DefinitionImpl ();
36+ DefinitionImpl (const DefinitionImpl &d);
37+ DefinitionImpl &operator =(const DefinitionImpl &d);
38+ DefinitionImpl (DefinitionImpl &&d) = delete ;
39+ DefinitionImpl &operator =(DefinitionImpl &&d) = delete ;
3640
3741 const QCString &name () const ;
3842 bool isAnonymous () const ;
@@ -124,7 +128,6 @@ class DefinitionImpl
124128 void _setSymbolName (const QCString &name);
125129 QCString _symbolName () const ;
126130
127- DefinitionImpl (const DefinitionImpl &d);
128131
129132 private:
130133
@@ -150,7 +153,11 @@ class DefinitionMixin : public Base
150153 const QCString &defFileName,int defLine,int defColumn,
151154 const QCString &name,const char *b=nullptr ,const char *d=nullptr ,
152155 bool isSymbol=TRUE ) : m_impl(this ,defFileName,defLine,defColumn,name,b,d,isSymbol) {}
153- ~DefinitionMixin () = default ;
156+ DefinitionMixin (const DefinitionMixin &) = default ;
157+ DefinitionMixin &operator =(const DefinitionMixin &) = default ;
158+ DefinitionMixin (DefinitionMixin &&) = delete ;
159+ DefinitionMixin &operator =(DefinitionMixin &&) = delete ;
160+ ~DefinitionMixin () = default ;
154161
155162 bool isAlias () const override { return FALSE ; }
156163
@@ -286,10 +293,6 @@ class DefinitionMixin : public Base
286293 QCString _symbolName () const override
287294 { return m_impl._symbolName (); }
288295
289- protected:
290-
291- DefinitionMixin (const DefinitionMixin &def) = default ;
292-
293296 private:
294297 Definition *toDefinition_ () override { return this ; }
295298 DefinitionMutable *toDefinitionMutable_ () override { return this ; }
@@ -303,6 +306,8 @@ class DefinitionAliasImpl
303306 public:
304307 DefinitionAliasImpl (Definition *def,const Definition *scope,const Definition *alias);
305308 virtual ~DefinitionAliasImpl ();
309+ NON_COPYABLE (DefinitionAliasImpl)
310+
306311 void init ();
307312 void deinit ();
308313 const QCString &name () const ;
@@ -321,11 +326,12 @@ class DefinitionAliasMixin : public Base
321326 public:
322327 DefinitionAliasMixin (const Definition *scope,const Definition *alias)
323328 : m_impl(this ,scope,alias), m_scope(scope), m_alias(alias) {}
329+ virtual ~DefinitionAliasMixin () = default ;
330+ NON_COPYABLE (DefinitionAliasMixin)
324331
325332 void init () { m_impl.init (); }
326333 void deinit () { m_impl.deinit (); }
327334
328- virtual ~DefinitionAliasMixin () = default ;
329335
330336 bool isAlias () const override { return TRUE ; }
331337
0 commit comments