Lvl1MuCTPI: Various optimizations
-
make_shared
is marginally preferable - Moving Rvalue moving the shared pointer avoid increments
- Class is unnecessarily polymorphic (virtual deleted)
- dynamic cast is unnecessary when type is checked (and failure is not accounted for)
- move to avoid copying vectors
- no need for explicit destructor