mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
Add move constructors and assignment operators to wpilibc (#1314)
Fixes #898.
This commit is contained in:
committed by
Peter Johnson
parent
b1965f74a8
commit
1aa8446725
@@ -8,6 +8,7 @@
|
||||
#include "frc/AnalogGyro.h"
|
||||
|
||||
#include <climits>
|
||||
#include <utility>
|
||||
|
||||
#include <hal/AnalogGyro.h>
|
||||
#include <hal/Errors.h>
|
||||
@@ -64,6 +65,20 @@ AnalogGyro::AnalogGyro(std::shared_ptr<AnalogInput> channel, int center,
|
||||
|
||||
AnalogGyro::~AnalogGyro() { HAL_FreeAnalogGyro(m_gyroHandle); }
|
||||
|
||||
AnalogGyro::AnalogGyro(AnalogGyro&& rhs)
|
||||
: GyroBase(std::move(rhs)), m_analog(std::move(rhs.m_analog)) {
|
||||
std::swap(m_gyroHandle, rhs.m_gyroHandle);
|
||||
}
|
||||
|
||||
AnalogGyro& AnalogGyro::operator=(AnalogGyro&& rhs) {
|
||||
GyroBase::operator=(std::move(rhs));
|
||||
|
||||
m_analog = std::move(rhs.m_analog);
|
||||
std::swap(m_gyroHandle, rhs.m_gyroHandle);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
double AnalogGyro::GetAngle() const {
|
||||
if (StatusIsFatal()) return 0.0;
|
||||
int32_t status = 0;
|
||||
|
||||
Reference in New Issue
Block a user