Skip to content

Commit 96e2ed0

Browse files
Some formatting, make copy-enabled class no longer copy-assignable
1 parent d04d4df commit 96e2ed0

1 file changed

Lines changed: 39 additions & 40 deletions

File tree

  • cpp/misra/test/rules/RULE-15-0-1

cpp/misra/test/rules/RULE-15-0-1/test.cpp

Lines changed: 39 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -275,28 +275,30 @@ class CopyEnabledCustomizedDtorCompliant1 { // COMPLIANT: copy-enabled (2)
275275

276276
class CopyEnabledCustomizedDtorCompliant2 { // NON-COMPLIANT: copy-enabled (2)
277277
public:
278-
COPY_CTOR(CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED
279-
// Move constructor is not declared
280-
COPY_ASSIGN(CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED
281-
MOVE_ASSIGN(CopyEnabledCustomizedDtorCompliant2) DEFAULTED
282-
DTOR(CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED
278+
COPY_CTOR(CopyEnabledCustomizedDtorCompliant2) CUSTOMIZED;
279+
// No move constructor declared
280+
COPY_ASSIGN(CopyEnabledCustomizedDtorCompliant2) DELETED;
281+
MOVE_ASSIGN(CopyEnabledCustomizedDtorCompliant2) DELETED;
282+
~CopyEnabledCustomizedDtorCompliant2() CUSTOMIZED;
283283
};
284284

285285
// copy-assignable class with both move operations customized
286286
class CopyAssignableCustomizedDtorCompliant1 { // COMPLIANT
287287
public:
288-
DEFINE_ALL_SPECIAL_MEMBERS(CopyAssignableCustomizedDtorCompliant1, DEFAULTED,
289-
CUSTOMIZED, CUSTOMIZED, CUSTOMIZED, CUSTOMIZED)
288+
COPY_CTOR(CopyAssignableCustomizedDtorCompliant1) CUSTOMIZED;
289+
MOVE_CTOR(CopyAssignableCustomizedDtorCompliant1) CUSTOMIZED;
290+
// No move constructor declared
291+
COPY_ASSIGN(CopyAssignableCustomizedDtorCompliant1) DELETED;
292+
MOVE_ASSIGN(CopyAssignableCustomizedDtorCompliant1) DELETED;
293+
~CopyAssignableCustomizedDtorCompliant1() CUSTOMIZED;
290294
};
291295

292296
// copy-assignable class with both move operations not declared
293297
class CopyAssignableCustomizedDtorCompliant2 { // COMPLIANT
294298
public:
295-
COPY_CTOR(CopyAssignableCustomizedDtorCompliant2)
296-
DEFAULTED
299+
COPY_CTOR(CopyAssignableCustomizedDtorCompliant2) DEFAULTED;
297300
// Move constructor is not declared
298-
COPY_ASSIGN(CopyAssignableCustomizedDtorCompliant2)
299-
CUSTOMIZED
301+
COPY_ASSIGN(CopyAssignableCustomizedDtorCompliant2) CUSTOMIZED;
300302
// Move assignment operator is not declared
301303
DTOR(CopyAssignableCustomizedDtorCompliant2) CUSTOMIZED
302304
};
@@ -305,63 +307,60 @@ class CopyAssignableCustomizedDtorCompliant2 { // COMPLIANT
305307
class CopyAssignableCustomizedDtorNonCompliant1 { // NON_COMPLIANT
306308
public:
307309
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant1)
308-
CUSTOMIZED MOVE_CTOR(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
309-
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
310-
// Move assignment operator is not declared
311-
DTOR(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED
310+
CUSTOMIZED MOVE_CTOR(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED;
311+
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED;
312+
// Move assignment operator is not declared
313+
DTOR(CopyAssignableCustomizedDtorNonCompliant1) CUSTOMIZED;
312314
};
313315

314316
// copy-assignable class with only one of move operations not declared
315317
class CopyAssignableCustomizedDtorNonCompliant2 { // NON_COMPLIANT
316318
public:
317-
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant2)
318-
CUSTOMIZED
319+
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
319320
// Move constructor is not declared
320-
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant2)
321-
CUSTOMIZED MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
322-
DTOR(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED
321+
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
322+
MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
323+
DTOR(CopyAssignableCustomizedDtorNonCompliant2) CUSTOMIZED;
323324
};
324325

325326
// copy-assignable class with only one of move operations not declared
326327
class CopyAssignableCustomizedDtorNonCompliant3 { // NON_COMPLIANT
327328
public:
328-
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant3)
329-
CUSTOMIZED MOVE_CTOR(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
330-
// Copy assignment operator is not declared
331-
MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
332-
DTOR(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED
329+
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
330+
MOVE_CTOR(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
331+
// Copy assignment operator is not declared
332+
MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
333+
DTOR(CopyAssignableCustomizedDtorNonCompliant3) CUSTOMIZED;
333334
};
334335

335336
// copy-assignable class with only one of move operations not declared
336337
class CopyAssignableCustomizedDtorNonCompliant4 { // NON_COMPLIANT
337338
public:
338-
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant4)
339-
CUSTOMIZED
339+
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED;
340340
// Move constructor is not declared
341-
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant4)
342-
CUSTOMIZED MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
343-
DTOR(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
341+
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED;
342+
MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED;
343+
DTOR(CopyAssignableCustomizedDtorNonCompliant4) CUSTOMIZED
344344
};
345345

346346
// copy-assignable class with only one of move operations not declared
347347
class CopyAssignableCustomizedDtorNonCompliant5 { // NON_COMPLIANT
348348
public:
349-
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant5)
350-
CUSTOMIZED MOVE_CTOR(CopyAssignableCustomizedDtorNonCompliant5) DEFAULTED
351-
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
352-
// Move assignment operator is not declared
353-
DTOR(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED
349+
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED;
350+
MOVE_CTOR(CopyAssignableCustomizedDtorNonCompliant5) DEFAULTED;
351+
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED;
352+
// Move assignment operator is not declared
353+
DTOR(CopyAssignableCustomizedDtorNonCompliant5) CUSTOMIZED;
354354
};
355355

356356
// copy-assignable class with only one of move operations not declared
357357
class CopyAssignableCustomizedDtorNonCompliant6 { // NON_COMPLIANT
358358
public:
359-
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant6)
360-
CUSTOMIZED
359+
COPY_CTOR(CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED;
361360
// Move constructor is not declared
362-
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant6)
363-
CUSTOMIZED MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant6) DEFAULTED
364-
DTOR(CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED
361+
COPY_ASSIGN(CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED;
362+
MOVE_ASSIGN(CopyAssignableCustomizedDtorNonCompliant6) DEFAULTED;
363+
DTOR(CopyAssignableCustomizedDtorNonCompliant6) CUSTOMIZED;
365364
};
366365

367366
// A public unmovable base class shall have a public virtual destructor

0 commit comments

Comments
 (0)