@@ -117,6 +117,10 @@ class AutoPtr
117117 Clear<Where>::clear (ptr);
118118 }
119119
120+ // copying is prohibited
121+ AutoPtr (AutoPtr&) = delete ;
122+ void operator =(AutoPtr&) = delete ;
123+
120124 AutoPtr& operator = (Where* v)
121125 {
122126 Clear<Where>::clear (ptr);
@@ -135,42 +139,42 @@ class AutoPtr
135139 return *this ;
136140 }
137141
138- const Where* get () const
142+ const Where* get () const noexcept
139143 {
140144 return ptr;
141145 }
142146
143- operator const Where*() const
147+ operator const Where*() const noexcept
144148 {
145149 return ptr;
146150 }
147151
148- Where* get ()
152+ Where* get () noexcept
149153 {
150154 return ptr;
151155 }
152156
153- operator Where*()
157+ operator Where*() noexcept
154158 {
155159 return ptr;
156160 }
157161
158- bool operator !() const
162+ bool operator !() const noexcept
159163 {
160164 return !ptr;
161165 }
162166
163- bool hasData () const
167+ bool hasData () const noexcept
164168 {
165169 return ptr != NULL ;
166170 }
167171
168- Where* operator ->() const
172+ Where* operator ->() const noexcept
169173 {
170174 return ptr;
171175 }
172176
173- Where* release ()
177+ Where* release () noexcept
174178 {
175179 Where* tmp = ptr;
176180 ptr = NULL ;
@@ -186,9 +190,6 @@ class AutoPtr
186190 }
187191 }
188192
189- private:
190- AutoPtr (AutoPtr&);
191- void operator =(AutoPtr&);
192193};
193194
194195template <typename T>
@@ -212,11 +213,11 @@ class AutoSaveRestore
212213 *value = oldValue;
213214 }
214215
215- private:
216216 // copying is prohibited
217- AutoSaveRestore (const AutoSaveRestore&);
218- AutoSaveRestore& operator =(const AutoSaveRestore&);
217+ AutoSaveRestore (const AutoSaveRestore&) = delete ;
218+ AutoSaveRestore& operator =(const AutoSaveRestore&) = delete ;
219219
220+ private:
220221 T* value;
221222 T oldValue;
222223};
@@ -260,11 +261,11 @@ class AutoSetRestoreFlag
260261 oldValue &= ~cleanBit;
261262 }
262263
263- private:
264264 // copying is prohibited
265- AutoSetRestoreFlag (const AutoSetRestoreFlag&);
266- AutoSetRestoreFlag& operator =(const AutoSetRestoreFlag&);
265+ AutoSetRestoreFlag (const AutoSetRestoreFlag&) = delete ;
266+ AutoSetRestoreFlag& operator =(const AutoSetRestoreFlag&) = delete ;
267267
268+ private:
268269 T* value;
269270 T bit;
270271 T oldValue;
@@ -292,10 +293,9 @@ class AutoSetRestore2
292293 (pointer->*setter)(oldValue);
293294 }
294295
295- private:
296296 // copying is prohibited
297- AutoSetRestore2 (const AutoSetRestore2&);
298- AutoSetRestore2& operator =(const AutoSetRestore2&);
297+ AutoSetRestore2 (const AutoSetRestore2&) = delete ;
298+ AutoSetRestore2& operator =(const AutoSetRestore2&) = delete ;
299299
300300private:
301301 T2* pointer;
@@ -325,7 +325,7 @@ class CleanupFunction
325325 typedef void Func ();
326326
327327public:
328- CleanupFunction (Func* clFunc)
328+ CleanupFunction (Func* clFunc) noexcept
329329 : clean(clFunc)
330330 { }
331331
0 commit comments