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

@@ -17,8 +17,12 @@ class SendableBuilder;
class Sendable {
public:
Sendable() = default;
virtual ~Sendable() = default;
Sendable(Sendable&&) = default;
Sendable& operator=(Sendable&&) = default;
/**
* Gets the name of this Sendable object.
*

View File

@@ -27,6 +27,9 @@ class SendableBase : public Sendable {
~SendableBase() override;
SendableBase(SendableBase&& rhs);
SendableBase& operator=(SendableBase&& rhs);
using Sendable::SetName;
std::string GetName() const final;

View File

@@ -27,12 +27,11 @@ namespace frc {
class SendableBuilderImpl : public SendableBuilder {
public:
SendableBuilderImpl() = default;
SendableBuilderImpl(const SendableBuilderImpl&) = delete;
SendableBuilderImpl(SendableBuilderImpl&& other) = default;
SendableBuilderImpl& operator=(const SendableBuilderImpl&) = delete;
SendableBuilderImpl& operator=(SendableBuilderImpl&& other) = default;
~SendableBuilderImpl() override = default;
SendableBuilderImpl(SendableBuilderImpl&&) = default;
SendableBuilderImpl& operator=(SendableBuilderImpl&&) = default;
/**
* Set the network table. Must be called prior to any Add* functions being
* called.

View File

@@ -29,6 +29,9 @@ class SendableChooserBase : public SendableBase {
SendableChooserBase();
~SendableChooserBase() override = default;
SendableChooserBase(SendableChooserBase&&) = default;
SendableChooserBase& operator=(SendableChooserBase&&) = default;
protected:
static constexpr const char* kDefault = "default";
static constexpr const char* kOptions = "options";