* Optimize appending another Parts container
* Remove redundant/verbose comments
* Change r-value args to move-only types into l-value args for
readability
* Deprecate `AtRef(int)`, redundant, just dereference at call site
* Deprecate `AddPart(Message*)`, avoid owning raw pointer args
* Add various const overloads
* Add `Empty()` and `Clear()` member functions
* Add `noexcept` where applicable
Delete special member functions where they are not used.
(as part of applying suggestions from cppcoreguidelines-special-member-functions)
These classes don't need to be copyable/movable:
# copy/move not used:
zmq:: TransportFactory, Socket, Message, UnmanagedRegion, Poller, Context
shm:: TransportFactory, Socket, Message, UnmanagedRegion, Poller
ofi:: TransportFactory, Socket, Message, Context
shm:: ZMsg, Region, Monitor, TerminalConfig, Manager
plugins:: Config, Control, TerminalConfig
fairmq::StateQueue, StateMachine, ProgOptions, PluginServices, PluginManager, Plugin, Device, StateSubscription
TestData, BadDevice, TestDevice (test suite heplers)
# used via ptr interface:
fairmq::UnmanagedRegion, TransportFactory, Socket, Poller, Message
These classes need to be movable/copyable:
MyClass (test suite helper), fairmq::Channel, fairmq::Parts