Add move constructors and assignment operators to wpilibc (#1314)

Fixes #898.
This commit is contained in:
Tyler Veness
2018-09-24 00:08:25 -07:00
committed by Peter Johnson
parent b1965f74a8
commit 1aa8446725
136 changed files with 764 additions and 89 deletions

View File

@@ -7,6 +7,8 @@
#include "frc/CAN.h"
#include <utility>
#include <hal/HAL.h>
using namespace frc;
@@ -46,6 +48,18 @@ CAN::~CAN() {
}
}
CAN::CAN(CAN&& rhs) : ErrorBase(std::move(rhs)) {
std::swap(m_handle, rhs.m_handle);
}
CAN& CAN::operator=(CAN&& rhs) {
ErrorBase::operator=(std::move(rhs));
std::swap(m_handle, rhs.m_handle);
return *this;
}
void CAN::WritePacket(const uint8_t* data, int length, int apiId) {
int32_t status = 0;
HAL_WriteCANPacket(m_handle, data, length, apiId, &status);