Pull Request №689 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/disulfide-energy-iterators-rule-of-zero
Merge: b8e64ecdc0338b77c231760f7f9bdcd4d500a240←2da5ceb881f6c2016ec94af5cd47955000095865
Apply Rule of Zero to disulfide energy neighbor iterators
----------------
Merge commit message:
Apply Rule of Zero to disulfide energy neighbor iterators
The disulfide neighbor iterator classes in core/scoring/disulfides/
each had a user-declared destructor (defaulted in the .cc) and an
old-style private undefined copy assignment. The destructor did
nothing the compiler-generated virtual destructor wouldn't do, so
remove both the declaration and the empty `= default` definition.
Modernize the C++03-style copy-assignment prevention to public
`= delete`. The intent is preserved: assignment must go through the
polymorphic operator=(BaseType const &) override, which downcasts and
copies all members; the implicit derived-derived operator= would
bypass that path. A short comment captures this why.
Touched: CentroidDisulfideNeighborIterator/ConstIterator,
DisulfideMatchingNeighborIterator/ConstIterator,
DisulfResNeighbIterator/ConstIterator.