memory: Hide all copy/assignment ops for class w/heap allocation

Many of the UPM libraries allocate space on the heap but do not
explicitly handle copying and assignment.  This commit uses C++11 delete
to forbit both the copy and assignment operator for these classes.

The C++ examples which used assignment operators to initialize class
instances were also updated since it did not appear necessary in those
cases to use the assignment operator.

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2017-07-14 11:16:27 -07:00
parent f59f3131bb
commit 5e7a8b41a3
75 changed files with 264 additions and 19 deletions

View File

@ -208,6 +208,10 @@ namespace upm {
void stepperSteps(STEPMOTORS_T motor, unsigned int steps);
private:
/* Disable implicit copy and assignment operators */
AdafruitMS1438(const AdafruitMS1438&) = delete;
AdafruitMS1438 &operator=(const AdafruitMS1438&) = delete;
// SWIG will generate a warning for these 'nested structs'; however,
// it can be ignored as these structs are never exposed.