Fix implicitly deleted move constructors (#1954)

These were incorrect and exhibited as warnings on more recent versions of
clang (notably on Mac).

- Use pointers instead of references internally in GenericHID and *Drive
- Leave PIDBase, PIDController, and Resource non-moveable
- Remove the atomic from m_disabled in NidecBrushless
- Make Timer and Trigger copyable as well as moveable
- Implement custom move constructor/assignment for SendableChooserBase

Also comment out some unused variables that caused clang warnings.
This commit is contained in:
Peter Johnson
2019-10-19 11:36:44 -07:00
committed by GitHub
parent f3ad927f45
commit 2c50937975
19 changed files with 160 additions and 108 deletions

View File

@@ -212,8 +212,8 @@ class DifferentialDrive : public RobotDriveBase,
void InitSendable(SendableBuilder& builder) override;
private:
SpeedController& m_leftMotor;
SpeedController& m_rightMotor;
SpeedController* m_leftMotor;
SpeedController* m_rightMotor;
double m_quickStopThreshold = kDefaultQuickStopThreshold;
double m_quickStopAlpha = kDefaultQuickStopAlpha;

View File

@@ -132,9 +132,9 @@ class KilloughDrive : public RobotDriveBase,
void InitSendable(SendableBuilder& builder) override;
private:
SpeedController& m_leftMotor;
SpeedController& m_rightMotor;
SpeedController& m_backMotor;
SpeedController* m_leftMotor;
SpeedController* m_rightMotor;
SpeedController* m_backMotor;
Vector2d m_leftVec;
Vector2d m_rightVec;

View File

@@ -137,10 +137,10 @@ class MecanumDrive : public RobotDriveBase,
void InitSendable(SendableBuilder& builder) override;
private:
SpeedController& m_frontLeftMotor;
SpeedController& m_rearLeftMotor;
SpeedController& m_frontRightMotor;
SpeedController& m_rearRightMotor;
SpeedController* m_frontLeftMotor;
SpeedController* m_rearLeftMotor;
SpeedController* m_frontRightMotor;
SpeedController* m_rearRightMotor;
double m_rightSideInvertMultiplier = -1.0;