mirror of https://github.com/AxioDL/boo.git
DeviceToken: Amend move constructor
The default move constructor isn't const qualified. The copy assignment operator wasn't deleted either which is somewhat dangerous. We can also opt for simply defaulting the move constructor and assignment operators instead of defining the move constructor like a copy constructor.
This commit is contained in:
parent
0121d355c4
commit
3c9866d697
|
@ -28,14 +28,7 @@ class DeviceToken {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DeviceToken(const DeviceToken&) = delete;
|
DeviceToken(const DeviceToken&) = delete;
|
||||||
DeviceToken(const DeviceToken&& other)
|
DeviceToken(DeviceToken&& other) noexcept = default;
|
||||||
: m_devType(other.m_devType)
|
|
||||||
, m_vendorId(other.m_vendorId)
|
|
||||||
, m_productId(other.m_productId)
|
|
||||||
, m_vendorName(other.m_vendorName)
|
|
||||||
, m_productName(other.m_productName)
|
|
||||||
, m_devPath(other.m_devPath)
|
|
||||||
, m_connectedDev(other.m_connectedDev) {}
|
|
||||||
DeviceToken(DeviceType devType, unsigned vid, unsigned pid, const char* vname, const char* pname, const char* path)
|
DeviceToken(DeviceType devType, unsigned vid, unsigned pid, const char* vname, const char* pname, const char* path)
|
||||||
: m_devType(devType), m_vendorId(vid), m_productId(pid), m_devPath(path), m_connectedDev(NULL) {
|
: m_devType(devType), m_vendorId(vid), m_productId(pid), m_devPath(path), m_connectedDev(NULL) {
|
||||||
if (vname)
|
if (vname)
|
||||||
|
@ -44,6 +37,12 @@ public:
|
||||||
m_productName = pname;
|
m_productName = pname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DeviceToken& operator=(const DeviceToken&) = delete;
|
||||||
|
DeviceToken& operator=(DeviceToken&&) noexcept = default;
|
||||||
|
|
||||||
|
bool operator==(const DeviceToken& rhs) const { return m_devPath == rhs.m_devPath; }
|
||||||
|
bool operator<(const DeviceToken& rhs) const { return m_devPath < rhs.m_devPath; }
|
||||||
|
|
||||||
DeviceType getDeviceType() const { return m_devType; }
|
DeviceType getDeviceType() const { return m_devType; }
|
||||||
unsigned getVendorId() const { return m_vendorId; }
|
unsigned getVendorId() const { return m_vendorId; }
|
||||||
unsigned getProductId() const { return m_productId; }
|
unsigned getProductId() const { return m_productId; }
|
||||||
|
@ -56,9 +55,6 @@ public:
|
||||||
m_connectedDev = DeviceSignature::DeviceNew(*this);
|
m_connectedDev = DeviceSignature::DeviceNew(*this);
|
||||||
return m_connectedDev;
|
return m_connectedDev;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const DeviceToken& rhs) const { return m_devPath == rhs.m_devPath; }
|
|
||||||
bool operator<(const DeviceToken& rhs) const { return m_devPath < rhs.m_devPath; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace boo
|
} // namespace boo
|
||||||
|
|
Loading…
Reference in New Issue