From 3bbeccfbb53b0183edb0281422b31fac8c1a2e1c Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Tue, 21 Jul 2015 01:23:34 -0700 Subject: [PATCH] Replaced all uses of DISALLOW_COPY_AND_ASSIGN macro Change-Id: I8371beb286a20d4c7619aab226136569fdefafef --- networktables/cpp/include/NTErrorBase.h | 2 -- networktables/cpp/include/OSAL/Task.h | 4 +++- wpilibc/wpilibC++/include/Base.h | 7 ------- wpilibc/wpilibC++/include/Error.h | 6 ++++-- wpilibc/wpilibC++/include/ErrorBase.h | 7 ++++--- wpilibc/wpilibC++/include/Notifier.h | 6 ++++-- wpilibc/wpilibC++/include/PIDController.h | 6 ++++-- wpilibc/wpilibC++/include/Resource.h | 6 ++++-- wpilibc/wpilibC++/include/SensorBase.h | 5 ++++- wpilibc/wpilibC++/include/Timer.h | 5 ++++- wpilibc/wpilibC++Devices/include/ADXL345_I2C.h | 3 +++ wpilibc/wpilibC++Devices/include/ADXL345_SPI.h | 3 +++ wpilibc/wpilibC++Devices/include/I2C.h | 3 +++ wpilibc/wpilibC++Devices/include/Joystick.h | 5 +++-- wpilibc/wpilibC++Devices/include/RobotBase.h | 7 ++++--- wpilibc/wpilibC++Devices/include/RobotDrive.h | 4 +++- wpilibc/wpilibC++Devices/include/SPI.h | 5 +++-- wpilibc/wpilibC++Devices/include/SerialPort.h | 6 ++++-- wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h | 5 +++-- wpilibc/wpilibC++Sim/include/Joystick.h | 5 +++-- wpilibc/wpilibC++Sim/include/RobotBase.h | 7 ++++--- wpilibc/wpilibC++Sim/include/RobotDrive.h | 4 +++- 22 files changed, 70 insertions(+), 41 deletions(-) diff --git a/networktables/cpp/include/NTErrorBase.h b/networktables/cpp/include/NTErrorBase.h index 0f28a9b660..2c081290bf 100644 --- a/networktables/cpp/include/NTErrorBase.h +++ b/networktables/cpp/include/NTErrorBase.h @@ -10,8 +10,6 @@ #if defined WIN32 #include -#define DISALLOW_COPY_AND_ASSIGN(ErrorBase) - #define wpi_setErrnoErrorWithContext(context) #define wpi_setErrnoError() #define wpi_setImaqErrorWithContext(code, context) diff --git a/networktables/cpp/include/OSAL/Task.h b/networktables/cpp/include/OSAL/Task.h index 8e5b991af0..e8f693c164 100644 --- a/networktables/cpp/include/OSAL/Task.h +++ b/networktables/cpp/include/OSAL/Task.h @@ -24,6 +24,9 @@ public: NTTask(const char* name, FUNCPTR function, INT32 priority = kDefaultPriority, UINT32 stackSize = 20000); virtual ~NTTask(); + NTTask(const NTTask&) = delete; + NTTask& operator=(const NTTask&) = delete; + #ifdef WIN32 bool Start(void * arg0); #else @@ -66,7 +69,6 @@ private: UINT32 m_stackSize; INT32 m_priority; bool HandleError(STATUS results); - DISALLOW_COPY_AND_ASSIGN(NTTask); }; #endif // WIN32 diff --git a/wpilibc/wpilibC++/include/Base.h b/wpilibc/wpilibC++/include/Base.h index b4fbe7f202..892dd5dd4c 100644 --- a/wpilibc/wpilibC++/include/Base.h +++ b/wpilibc/wpilibC++/include/Base.h @@ -5,13 +5,6 @@ /*----------------------------------------------------------------------------*/ #pragma once -// A macro for making a class move-only -#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName&) = delete; \ - TypeName& operator=(const TypeName&) = delete; \ - TypeName(TypeName&&) = default; \ - TypeName& operator=(TypeName&&) = default - // A struct to use as a deleter when a std::shared_ptr must wrap a raw pointer // that is being deleted by someone else. // This should only be called in deprecated functions; using it anywhere else diff --git a/wpilibc/wpilibC++/include/Error.h b/wpilibc/wpilibC++/include/Error.h index 92dd1cf3a6..8c1cc2f120 100644 --- a/wpilibc/wpilibC++/include/Error.h +++ b/wpilibc/wpilibC++/include/Error.h @@ -21,6 +21,10 @@ class Error { typedef int32_t Code; Error() = default; + + Error(const Error&) = delete; + Error& operator=(const Error&) = delete; + void Clone(const Error& error); Code GetCode() const; std::string GetMessage() const; @@ -44,6 +48,4 @@ class Error { uint32_t m_lineNumber = 0; const ErrorBase* m_originatingObject = nullptr; double m_timestamp = 0.0; - - DISALLOW_COPY_AND_ASSIGN(Error); }; diff --git a/wpilibc/wpilibC++/include/ErrorBase.h b/wpilibc/wpilibC++/include/ErrorBase.h index 066c64d9e6..abfecc0e99 100644 --- a/wpilibc/wpilibC++/include/ErrorBase.h +++ b/wpilibc/wpilibC++/include/ErrorBase.h @@ -54,6 +54,10 @@ class ErrorBase { public: ErrorBase() = default; virtual ~ErrorBase() = default; + + ErrorBase(const ErrorBase&) = delete; + ErrorBase& operator=(const ErrorBase&) = delete; + virtual Error& GetError(); virtual const Error& GetError() const; virtual void SetErrnoError(const std::string& contextMessage, @@ -91,7 +95,4 @@ class ErrorBase { // TODO: Replace globalError with a global list of all errors. static priority_mutex _globalErrorMutex; static Error _globalError; - - private: - DISALLOW_COPY_AND_ASSIGN(ErrorBase); }; diff --git a/wpilibc/wpilibC++/include/Notifier.h b/wpilibc/wpilibC++/include/Notifier.h index bd16a1cf2d..eb9687c532 100644 --- a/wpilibc/wpilibC++/include/Notifier.h +++ b/wpilibc/wpilibC++/include/Notifier.h @@ -17,6 +17,10 @@ class Notifier : public ErrorBase { public: Notifier(TimerEventHandler handler, void *param = nullptr); virtual ~Notifier(); + + Notifier(const Notifier&) = delete; + Notifier& operator=(const Notifier&) = delete; + void StartSingle(double delay); void StartPeriodic(double period); void Stop(); @@ -44,8 +48,6 @@ class Notifier : public ErrorBase { priority_mutex m_handlerMutex; // held by interrupt manager task while // handler call is in progress - DISALLOW_COPY_AND_ASSIGN(Notifier); - #ifdef FRC_SIMULATOR static ::std::thread m_task; static ::std::atomic m_stopped; diff --git a/wpilibc/wpilibC++/include/PIDController.h b/wpilibc/wpilibC++/include/PIDController.h index a36a78e297..1c37334265 100644 --- a/wpilibc/wpilibC++/include/PIDController.h +++ b/wpilibc/wpilibC++/include/PIDController.h @@ -34,6 +34,10 @@ class PIDController : public LiveWindowSendable, PIDController(float p, float i, float d, float f, PIDSource *source, PIDOutput *output, float period = 0.05); virtual ~PIDController() = default; + + PIDController(const PIDController&) = delete; + PIDController& operator=(const PIDController) = delete; + virtual float Get() const; virtual void SetContinuous(bool continuous = true); virtual void SetInputRange(float minimumInput, float maximumInput); @@ -111,6 +115,4 @@ class PIDController : public LiveWindowSendable, protected: ::std::shared_ptr m_table = nullptr; virtual void Calculate(); - - DISALLOW_COPY_AND_ASSIGN(PIDController); }; diff --git a/wpilibc/wpilibC++/include/Resource.h b/wpilibc/wpilibC++/include/Resource.h index 7b8ea709bf..17ee79f5f6 100644 --- a/wpilibc/wpilibC++/include/Resource.h +++ b/wpilibc/wpilibC++/include/Resource.h @@ -25,6 +25,10 @@ class Resource : public ErrorBase { public: virtual ~Resource() = default; + + Resource(const Resource&) = delete; + Resource& operator=(const Resource&) = delete; + static void CreateResourceObject(::std::unique_ptr& r, uint32_t elements); explicit Resource(uint32_t size); uint32_t Allocate(const std::string &resourceDesc); @@ -36,6 +40,4 @@ class Resource : public ErrorBase { priority_recursive_mutex m_allocateLock; static priority_recursive_mutex m_createLock; - - DISALLOW_COPY_AND_ASSIGN(Resource); }; diff --git a/wpilibc/wpilibC++/include/SensorBase.h b/wpilibc/wpilibC++/include/SensorBase.h index afff0baf88..e3742406c5 100644 --- a/wpilibc/wpilibC++/include/SensorBase.h +++ b/wpilibc/wpilibC++/include/SensorBase.h @@ -20,6 +20,10 @@ class SensorBase : public ErrorBase { public: SensorBase(); virtual ~SensorBase() = default; + + SensorBase(const SensorBase&) = delete; + SensorBase& operator=(const SensorBase&) = delete; + static void DeleteSingletons(); static uint32_t GetDefaultSolenoidModule() { return 0; } @@ -51,7 +55,6 @@ class SensorBase : public ErrorBase { static void* m_pwm_ports[kPwmChannels]; private: - DISALLOW_COPY_AND_ASSIGN(SensorBase); static SensorBase* m_singletonList; SensorBase* m_nextSingleton; }; diff --git a/wpilibc/wpilibC++/include/Timer.h b/wpilibc/wpilibC++/include/Timer.h index cef118d87c..d00e5004f0 100644 --- a/wpilibc/wpilibC++/include/Timer.h +++ b/wpilibc/wpilibC++/include/Timer.h @@ -29,6 +29,10 @@ class Timer { public: Timer(); virtual ~Timer() = default; + + Timer(const Timer&) = delete; + Timer& operator=(const Timer&) = delete; + double Get() const; void Reset(); void Start(); @@ -47,5 +51,4 @@ class Timer { double m_accumulatedTime = 0.0; bool m_running = false; mutable priority_mutex m_mutex; - DISALLOW_COPY_AND_ASSIGN(Timer); }; diff --git a/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h b/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h index 0954409e1b..cb241ba96b 100644 --- a/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h +++ b/wpilibc/wpilibC++Devices/include/ADXL345_I2C.h @@ -54,6 +54,9 @@ class ADXL345_I2C : public Accelerometer, explicit ADXL345_I2C(Port port, Range range = kRange_2G); virtual ~ADXL345_I2C() = default; + ADXL345_I2C(const ADXL345_I2C&) = delete; + ADXL345_I2C& operator=(const ADXL345_I2C&) = delete; + // Accelerometer interface virtual void SetRange(Range range) override; virtual double GetX() override; diff --git a/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h b/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h index a95054d0e7..76f1f99764 100644 --- a/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h +++ b/wpilibc/wpilibC++Devices/include/ADXL345_SPI.h @@ -58,6 +58,9 @@ class ADXL345_SPI : public Accelerometer, ADXL345_SPI(SPI::Port port, Range range = kRange_2G); virtual ~ADXL345_SPI() = default; + ADXL345_SPI(const ADXL345_SPI&) = delete; + ADXL345_SPI& operator=(const ADXL345_SPI&) = delete; + // Accelerometer interface virtual void SetRange(Range range) override; virtual double GetX() override; diff --git a/wpilibc/wpilibC++Devices/include/I2C.h b/wpilibc/wpilibC++Devices/include/I2C.h index e6dee47eed..89041e71c9 100644 --- a/wpilibc/wpilibC++Devices/include/I2C.h +++ b/wpilibc/wpilibC++Devices/include/I2C.h @@ -22,6 +22,9 @@ class I2C : SensorBase { I2C(Port port, uint8_t deviceAddress); virtual ~I2C(); + I2C(const I2C&) = delete; + I2C& operator=(const I2C&) = delete; + bool Transaction(uint8_t *dataToSend, uint8_t sendSize, uint8_t *dataReceived, uint8_t receiveSize); bool AddressOnly(); diff --git a/wpilibc/wpilibC++Devices/include/Joystick.h b/wpilibc/wpilibC++Devices/include/Joystick.h index 11920e4d4f..0922359bf3 100644 --- a/wpilibc/wpilibC++Devices/include/Joystick.h +++ b/wpilibc/wpilibC++Devices/include/Joystick.h @@ -66,6 +66,9 @@ class Joystick : public GenericHID, public ErrorBase { Joystick(uint32_t port, uint32_t numAxisTypes, uint32_t numButtonTypes); virtual ~Joystick() = default; + Joystick(const Joystick&) = delete; + Joystick& operator=(const Joystick&) = delete; + uint32_t GetAxisChannel(AxisType axis) const; void SetAxisChannel(AxisType axis, uint32_t channel); @@ -103,8 +106,6 @@ class Joystick : public GenericHID, public ErrorBase { void SetOutputs(uint32_t value); private: - DISALLOW_COPY_AND_ASSIGN(Joystick); - DriverStation &m_ds; uint32_t m_port; ::std::vector m_axes; diff --git a/wpilibc/wpilibC++Devices/include/RobotBase.h b/wpilibc/wpilibC++Devices/include/RobotBase.h index 4c4b23f74d..a7c3fb0d3c 100644 --- a/wpilibc/wpilibC++Devices/include/RobotBase.h +++ b/wpilibc/wpilibC++Devices/include/RobotBase.h @@ -56,8 +56,11 @@ class RobotBase { static void robotSetup(RobotBase *robot); protected: - virtual ~RobotBase(); RobotBase(); + virtual ~RobotBase(); + + RobotBase(const RobotBase&) = delete; + RobotBase& operator=(const RobotBase&) = delete; virtual void Prestart(); @@ -66,6 +69,4 @@ class RobotBase { private: static RobotBase *m_instance; - - DISALLOW_COPY_AND_ASSIGN(RobotBase); }; diff --git a/wpilibc/wpilibC++Devices/include/RobotDrive.h b/wpilibc/wpilibC++Devices/include/RobotDrive.h index 8078a973e6..fa7841af83 100644 --- a/wpilibc/wpilibC++Devices/include/RobotDrive.h +++ b/wpilibc/wpilibC++Devices/include/RobotDrive.h @@ -62,6 +62,9 @@ class RobotDrive : public MotorSafety, public ErrorBase { ::std::shared_ptr rearRightMotor); virtual ~RobotDrive() = default; + RobotDrive(const RobotDrive&) = delete; + RobotDrive& operator=(const RobotDrive&) = delete; + void Drive(float outputMagnitude, float curve); void TankDrive(GenericHID *leftStick, GenericHID *rightStick, bool squaredInputs = true); @@ -127,5 +130,4 @@ class RobotDrive : public MotorSafety, public ErrorBase { if (m_rearRightMotor) motors++; return motors; } - DISALLOW_COPY_AND_ASSIGN(RobotDrive); }; diff --git a/wpilibc/wpilibC++Devices/include/SPI.h b/wpilibc/wpilibC++Devices/include/SPI.h index 26676e3cf9..ce29d6c18c 100644 --- a/wpilibc/wpilibC++Devices/include/SPI.h +++ b/wpilibc/wpilibC++Devices/include/SPI.h @@ -25,6 +25,9 @@ class SPI : public SensorBase { SPI(Port SPIport); virtual ~SPI(); + SPI(const SPI&) = delete; + SPI& operator=(const SPI&) = delete; + void SetClockRate(double hz); void SetMSBFirst(); @@ -52,6 +55,4 @@ class SPI : public SensorBase { private: void Init(); - - DISALLOW_COPY_AND_ASSIGN(SPI); }; diff --git a/wpilibc/wpilibC++Devices/include/SerialPort.h b/wpilibc/wpilibC++Devices/include/SerialPort.h index 168746c21f..3cd1c1ceb0 100644 --- a/wpilibc/wpilibC++Devices/include/SerialPort.h +++ b/wpilibc/wpilibC++Devices/include/SerialPort.h @@ -48,6 +48,10 @@ class SerialPort : public ErrorBase { SerialPort(uint32_t baudRate, Port port = kOnboard, uint8_t dataBits = 8, Parity parity = kParity_None, StopBits stopBits = kStopBits_One); ~SerialPort(); + + SerialPort(const SerialPort&) = delete; + SerialPort& operator=(const SerialPort&) = delete; + void SetFlowControl(FlowControl flowControl); void EnableTermination(char terminator = '\n'); void DisableTermination(); @@ -66,6 +70,4 @@ class SerialPort : public ErrorBase { uint32_t m_portHandle = 0; bool m_consoleModeEnabled = false; uint8_t m_port; - - DISALLOW_COPY_AND_ASSIGN(SerialPort); }; diff --git a/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h b/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h index 7cb62b83d3..b315938dc2 100644 --- a/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h +++ b/wpilibc/wpilibC++Devices/include/Vision/AxisCamera.h @@ -51,6 +51,9 @@ class AxisCamera : public ErrorBase { explicit AxisCamera(std::string const &cameraHost); virtual ~AxisCamera(); + AxisCamera(const AxisCamera&) = delete; + AxisCamera& operator=(const AxisCamera&) = delete; + bool IsFreshImage() const; int GetImage(Image *image); @@ -116,6 +119,4 @@ class AxisCamera : public ErrorBase { bool WriteParameters(); int CreateCameraSocket(std::string const &requestString, bool setError); - - DISALLOW_COPY_AND_ASSIGN(AxisCamera); }; diff --git a/wpilibc/wpilibC++Sim/include/Joystick.h b/wpilibc/wpilibC++Sim/include/Joystick.h index 71f69ee661..45a036261f 100644 --- a/wpilibc/wpilibC++Sim/include/Joystick.h +++ b/wpilibc/wpilibC++Sim/include/Joystick.h @@ -42,6 +42,9 @@ public: Joystick(uint32_t port, uint32_t numAxisTypes, uint32_t numButtonTypes); virtual ~Joystick() = default; + Joystick(const Joystick&) = delete; + Joystick& operator=(const Joystick&) = delete; + uint32_t GetAxisChannel(AxisType axis); void SetAxisChannel(AxisType axis, uint32_t channel); @@ -66,8 +69,6 @@ public: virtual float GetDirectionDegrees() const; private: - DISALLOW_COPY_AND_ASSIGN(Joystick); - DriverStation *m_ds = nullptr; uint32_t m_port; std::unique_ptr m_axes; diff --git a/wpilibc/wpilibC++Sim/include/RobotBase.h b/wpilibc/wpilibC++Sim/include/RobotBase.h index eeda304fc3..ded8b0efab 100644 --- a/wpilibc/wpilibC++Sim/include/RobotBase.h +++ b/wpilibc/wpilibC++Sim/include/RobotBase.h @@ -38,13 +38,14 @@ public: virtual void StartCompetition() = 0; protected: - virtual ~RobotBase() = default; RobotBase(); + virtual ~RobotBase() = default; + + RobotBase(const RobotBase&) = delete; + RobotBase& operator=(const RobotBase&) = delete; DriverStation *m_ds; private: static RobotBase *m_instance; - - DISALLOW_COPY_AND_ASSIGN(RobotBase); }; diff --git a/wpilibc/wpilibC++Sim/include/RobotDrive.h b/wpilibc/wpilibC++Sim/include/RobotDrive.h index 4c97cfff46..a181e46a32 100644 --- a/wpilibc/wpilibC++Sim/include/RobotDrive.h +++ b/wpilibc/wpilibC++Sim/include/RobotDrive.h @@ -43,6 +43,9 @@ public: SpeedController &frontRightMotor, SpeedController &rearRightMotor); virtual ~RobotDrive(); + RobotDrive(const RobotDrive&) = delete; + RobotDrive& operator=(const RobotDrive&) = delete; + void Drive(float outputMagnitude, float curve); void TankDrive(GenericHID *leftStick, GenericHID *rightStick, bool squaredInputs = true); void TankDrive(GenericHID &leftStick, GenericHID &rightStick, bool squaredInputs = true); @@ -106,5 +109,4 @@ private: motors++; return motors; } - DISALLOW_COPY_AND_ASSIGN(RobotDrive); };