Commit f96dfce
committed
fix(core,meta,blocks): complete rule-of-five on flagged types (sonar cpp:S3624)
- on_scope_exit, IoThreadGuard: = delete copy and move (double-calling
the scope-exit function / re-binding a ref member would be wrong)
- MergeByIndex, Tensor (dynamic), GeneralRegistry, immutable, Graph,
DynamicPort, StateMachine: add explicit ~T() = default to complete
the rule-of-five that each type had already partly declared.
- Writer, Reader (CircularBuffer): the copy-and-swap operator=(T tmp)
was effectively move-only (copy ctor implicitly deleted by the
user-declared move ctor). Make it explicit: take Writer&&/Reader&&,
and = delete the copy ctor/assignment so the shape of the type is
honest.
Skipped (sonar false positives / already correct):
indirect — already has ~indirect() = default; conditional copy ctor
is intentional.
Port — already has ~Port() = default; all 5 specials declared.
InputSpan/OutputSpan — defaulted moves are correct; dtor uses a
runtime instanceCount guard to avoid double-cleanup on moved-from.
Signed-off-by: Ralph J. Steinhagen <r.steinhagen@gsi.de>1 parent 059d967 commit f96dfce
10 files changed
Lines changed: 27 additions & 2 deletions
File tree
- blocks/timing/include/gnuradio-4.0
- core/include/gnuradio-4.0
- meta/include/gnuradio-4.0/meta
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
47 | 52 | | |
48 | 53 | | |
49 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
| 162 | + | |
162 | 163 | | |
163 | 164 | | |
164 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
465 | 465 | | |
466 | 466 | | |
467 | 467 | | |
468 | | - | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
469 | 472 | | |
470 | 473 | | |
471 | 474 | | |
| |||
719 | 722 | | |
720 | 723 | | |
721 | 724 | | |
722 | | - | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
723 | 729 | | |
724 | 730 | | |
725 | 731 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
361 | 361 | | |
362 | 362 | | |
363 | 363 | | |
| 364 | + | |
364 | 365 | | |
365 | 366 | | |
366 | 367 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
194 | 197 | | |
195 | 198 | | |
196 | 199 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1197 | 1197 | | |
1198 | 1198 | | |
1199 | 1199 | | |
| 1200 | + | |
1200 | 1201 | | |
1201 | 1202 | | |
1202 | 1203 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1051 | 1051 | | |
1052 | 1052 | | |
1053 | 1053 | | |
| 1054 | + | |
1054 | 1055 | | |
1055 | 1056 | | |
1056 | 1057 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
886 | 886 | | |
887 | 887 | | |
888 | 888 | | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
889 | 893 | | |
890 | 894 | | |
891 | 895 | | |
| |||
0 commit comments