Pull Request №669 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/irstream-modernize-copy-prevention
Merge: 5c9f6db69d1a20db6353738e3724092516415bd3←56292bf7c603504d2f187fef7e3981440511b307
Modernize copy prevention in irstream to use = delete
----------------
Merge commit message:
Modernize copy prevention in irstream to use = delete
Replace old-style private-and-undefined copy constructor/assignment
with explicit = delete in the public section. Matches the treatment
already applied to the sibling orstream class.
Pull Request №670 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/registrant-modernize-copy-prevention
Merge: 5c9f6db69d1a20db6353738e3724092516415bd3←61c9a26d96c83d65f054961f4dae132e43c4b090
Modernize copy prevention in factory/Registrant to use = delete
----------------
Merge commit message:
Modernize copy prevention in Registrant to use = delete
Replace old-style private-and-undefined copy constructor/assignment
with explicit = delete. A comment explains the non-obvious reason:
each constructor calls ProductFactory::add(), so a copy would
silently re-register the same key.
Pull Request №671 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/keylookup-modernize-copy-prevention
Merge: 5c9f6db69d1a20db6353738e3724092516415bd3←102fc88740667713fe7d03f5e62820dc103d2fb0
Modernize copy prevention in KeyLookup to use = delete
----------------
Merge commit message:
Modernize copy prevention in KeyLookup to use = delete
Replace old-style private-and-undefined copy constructor/assignment
with explicit = delete. KeyLookup is a monostate singleton (all
methods and data are static), so copies are meaningless.
Pull Request №672 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/graph-modernize-copy-prevention
Merge: 5c9f6db69d1a20db6353738e3724092516415bd3←0ccc000fb7c5f72b3a1f502bd5835647e3df5a8e
Modernize copy prevention in utility/graph EdgeList/Node/Edge to use = delete
----------------
Merge commit message:
Modernize copy prevention in graph EdgeList/Node/Edge to use = delete
Replace old-style private-and-undefined copy constructor/assignment in
Graph.hh (EdgeList, Node, Edge) and Digraph.hh (DirectedEdgeList,
DirectedNode, DirectedEdge) with explicit = delete. Also corrects the
copy assignment signatures from non-const T& to const T& to match the
standard copy assignment operator form.
Pull Request №673 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/basic-modernize-copy-prevention
Merge: 5c9f6db69d1a20db6353738e3724092516415bd3←aa9828ef329b75e624b5d314be79edd69207c8d0
Modernize copy prevention in basic/ComparingTracer and MessageListenerFactory
----------------
Merge commit message:
Modernize copy prevention in basic/ComparingTracer and MessageListenerFactory
ComparingTracer: replace private-undefined copy ctor with public = delete;
also explicitly delete copy assignment (std::fstream member makes copies
impossible anyway, but = delete documents the intent clearly).
MessageListenerFactory: remove redundant private-undefined copy ctor and
assignment -- SingletonBase already deletes them via inheritance.
Pull Request №668 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/signals-modernize-copy-prevention
Merge: 8556abcecef09877257656a5144b1902b5f7c699←45ad271fbf7645713af9216c17f1f187d246729c
Modernize copy prevention in utility/signals classes to use = delete
----------------
Merge commit message:
Modernize copy prevention in utility/signals classes to use = delete
Replace old-style private-and-undefined copy constructor/assignment
declarations with explicit = delete in SignalHub, BufferedSignalHub,
PausableSignalHub, TokenHub, and LinkUnit. Also deletes the LinkUnit
default constructor the same way.
Pull Request №667 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/ozstream-unique-ptr
Merge: 8556abcecef09877257656a5144b1902b5f7c699←d06df99ede8699393ad8a30e570bcaeede24699d
Refactor ozstream raw pointers to unique_ptr; modernize orstream copy ops
----------------
Merge commit message:
Refactor ozstream raw pointers to unique_ptr; modernize orstream copy ops
Replace three raw owning pointers in ozstream (char_buffer_p_, zip_stream_p_,
mpi_stream_p_) with std::unique_ptr, eliminating manual delete/nullptr pairs
throughout open(), open_append(), open_append_if_existed(), close(), and the
buffer helpers. Also replace the old private-undefined copy ctor/assignment in
orstream with explicit = delete, consistent with the irstream/izstream refactor.
Pull Request №665 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/timer-delete-copy
Merge: f9c5b025aa6240de1105fd6cdcf04f7a535ea67d←776a3e20b99c27214dd542508fbf49c8056c617f
Explicitly delete copy constructor and assignment in Timer
----------------
Merge commit message:
Explicitly delete copy constructor and assignment in Timer
Timer's destructor calls Report(), printing the elapsed time. Without
explicit copy deletion, a copied Timer would silently produce a second
Report() call on destruction, logging a duplicate timing entry for the
same measured interval. Both tag_ and t_ are non-owning pointers so
there is no memory-safety risk, but the semantic hazard is real.
Deleting copy constructor and copy assignment makes the non-copyable
intent explicit.
Rosetta Benchmark 6 months Tests for this revision was automatically canceled because newer set of tests for pull-request №665 was submitted!
Pull Request №663 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/variant-option-key-unique-ptr
Merge: 068bd85322153b1ddc5a354f8cf0633a5631e9fa←28a846a04cea64e67d633086273b0ce57e64417e
Refactor VariantKey and VariantOption raw pointers to unique_ptr
----------------
Merge commit message:
Remove unnecessary = default move ctor/assignment from VariantKey and VariantOption
Both classes have user-declared copy constructor and copy-assignment, which
suppress implicit move generation (C++11). The explicit = default moves were
performance-only; without them, moves fall back to deep-clone copies, which
is semantically correct. Per project policy, this performance-only benefit is
not worth the added noise.
Pull Request №664 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/izstream-unique-ptr
Merge: f9c5b025aa6240de1105fd6cdcf04f7a535ea67d←2371147ec5067102b18bc01e0529261a8d4797ad
Refactor izstream raw zip_stream_p_ pointer to unique_ptr
----------------
Merge commit message:
Refactor izstream raw zip_stream_p_ pointer to unique_ptr
zip_stream_p_ was a raw owning pointer managed by a custom destructor
with no corresponding copy/move declarations — the inherited private
copy ops from irstream prevented copying, but this relied on an
implicit base-class mechanism rather than explicit class policy.
Replace the raw pointer with std::unique_ptr, explicitly delete copy
constructor and copy assignment in izstream itself, and update all
reset/allocation sites to use unique_ptr::reset(). The redundant
manual delete in the destructor is eliminated; the if_stream_ cleanup
calls are kept.
Rosetta Benchmark 6 months Tests for this revision was automatically canceled because newer set of tests for pull-request №664 was submitted!