C++ binding should declare operators == and != const
On 8/12/2014 9:16 AM, Riot wrote:
The C++ bindings define operator == and !=, but these are not declared
const - although they have no reason not to be.
const_comparison_operator.diff
Index: bindings/cpp/include/portaudiocpp/Device.hxx
===================================================================
--- bindings/cpp/include/portaudiocpp/Device.hxx (revision 1934)
+++ bindings/cpp/include/portaudiocpp/Device.hxx (working copy)
@@ -60,8 +60,8 @@
bool isHostApiDefaultInputDevice() const; // extended
bool isHostApiDefaultOutputDevice() const; // extended
- bool operator==(const Device &rhs);
- bool operator!=(const Device &rhs);
+ bool operator==(const Device &rhs) const;
+ bool operator!=(const Device &rhs) const;
// host api reference
HostApi &hostApi();
Index: bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx
===================================================================
--- bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx (revision 1934)
+++ bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx (working copy)
@@ -48,8 +48,8 @@
DeviceIterator &operator--();
DeviceIterator operator--(int);
- bool operator==(const DeviceIterator &rhs);
- bool operator!=(const DeviceIterator &rhs);
+ bool operator==(const DeviceIterator &rhs) const;
+ bool operator!=(const DeviceIterator &rhs) const;
private:
friend class System;
Index: bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx
===================================================================
--- bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx (revision 1934)
+++ bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx (working copy)
@@ -45,8 +45,8 @@
HostApiIterator &operator--();
HostApiIterator operator--(int);
- bool operator==(const HostApiIterator &rhs);
- bool operator!=(const HostApiIterator &rhs);
+ bool operator==(const HostApiIterator &rhs) const;
+ bool operator!=(const HostApiIterator &rhs) const;
private:
friend class System;
Index: bindings/cpp/source/portaudiocpp/Device.cxx
===================================================================
--- bindings/cpp/source/portaudiocpp/Device.cxx (revision 1934)
+++ bindings/cpp/source/portaudiocpp/Device.cxx (working copy)
@@ -131,12 +131,12 @@
// -------------------------------------------------------------------------------
- bool Device::operator==(const Device &rhs)
+ bool Device::operator==(const Device &rhs) const
{
return (index_ == rhs.index_);
}
- bool Device::operator!=(const Device &rhs)
+ bool Device::operator!=(const Device &rhs) const
{
return !(*this == rhs);
}
Index: bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx
===================================================================
--- bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx (revision 1934)
+++ bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx (working copy)
@@ -44,12 +44,12 @@
// -----------------------------------------------------------------------------------
- bool System::DeviceIterator::operator==(const System::DeviceIterator &rhs)
+ bool System::DeviceIterator::operator==(const System::DeviceIterator &rhs) const
{
return (ptr_ == rhs.ptr_);
}
- bool System::DeviceIterator::operator!=(const System::DeviceIterator &rhs)
+ bool System::DeviceIterator::operator!=(const System::DeviceIterator &rhs) const
{
return !(*this == rhs);
}
Index: bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx
===================================================================
--- bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx (revision 1934)
+++ bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx (working copy)
@@ -44,12 +44,12 @@
// -----------------------------------------------------------------------------------
- bool System::HostApiIterator::operator==(const System::HostApiIterator &rhs)
+ bool System::HostApiIterator::operator==(const System::HostApiIterator &rhs) const
{
return (ptr_ == rhs.ptr_);
}
- bool System::HostApiIterator::operator!=(const System::HostApiIterator &rhs)
+ bool System::HostApiIterator::operator!=(const System::HostApiIterator &rhs) const
{
return !(*this == rhs);
}
The C++ bindings define operator == and !=, but these are not declared
const - although they have no reason not to be.
const_comparison_operator.diff
Index: bindings/cpp/include/portaudiocpp/Device.hxx
===================================================================
--- bindings/cpp/include/portaudiocpp/Device.hxx (revision 1934)
+++ bindings/cpp/include/portaudiocpp/Device.hxx (working copy)
@@ -60,8 +60,8 @@
bool isHostApiDefaultInputDevice() const; // extended
bool isHostApiDefaultOutputDevice() const; // extended
- bool operator==(const Device &rhs);
- bool operator!=(const Device &rhs);
+ bool operator==(const Device &rhs) const;
+ bool operator!=(const Device &rhs) const;
// host api reference
HostApi &hostApi();
Index: bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx
===================================================================
--- bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx (revision 1934)
+++ bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx (working copy)
@@ -48,8 +48,8 @@
DeviceIterator &operator--();
DeviceIterator operator--(int);
- bool operator==(const DeviceIterator &rhs);
- bool operator!=(const DeviceIterator &rhs);
+ bool operator==(const DeviceIterator &rhs) const;
+ bool operator!=(const DeviceIterator &rhs) const;
private:
friend class System;
Index: bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx
===================================================================
--- bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx (revision 1934)
+++ bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx (working copy)
@@ -45,8 +45,8 @@
HostApiIterator &operator--();
HostApiIterator operator--(int);
- bool operator==(const HostApiIterator &rhs);
- bool operator!=(const HostApiIterator &rhs);
+ bool operator==(const HostApiIterator &rhs) const;
+ bool operator!=(const HostApiIterator &rhs) const;
private:
friend class System;
Index: bindings/cpp/source/portaudiocpp/Device.cxx
===================================================================
--- bindings/cpp/source/portaudiocpp/Device.cxx (revision 1934)
+++ bindings/cpp/source/portaudiocpp/Device.cxx (working copy)
@@ -131,12 +131,12 @@
// -------------------------------------------------------------------------------
- bool Device::operator==(const Device &rhs)
+ bool Device::operator==(const Device &rhs) const
{
return (index_ == rhs.index_);
}
- bool Device::operator!=(const Device &rhs)
+ bool Device::operator!=(const Device &rhs) const
{
return !(*this == rhs);
}
Index: bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx
===================================================================
--- bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx (revision 1934)
+++ bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx (working copy)
@@ -44,12 +44,12 @@
// -----------------------------------------------------------------------------------
- bool System::DeviceIterator::operator==(const System::DeviceIterator &rhs)
+ bool System::DeviceIterator::operator==(const System::DeviceIterator &rhs) const
{
return (ptr_ == rhs.ptr_);
}
- bool System::DeviceIterator::operator!=(const System::DeviceIterator &rhs)
+ bool System::DeviceIterator::operator!=(const System::DeviceIterator &rhs) const
{
return !(*this == rhs);
}
Index: bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx
===================================================================
--- bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx (revision 1934)
+++ bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx (working copy)
@@ -44,12 +44,12 @@
// -----------------------------------------------------------------------------------
- bool System::HostApiIterator::operator==(const System::HostApiIterator &rhs)
+ bool System::HostApiIterator::operator==(const System::HostApiIterator &rhs) const
{
return (ptr_ == rhs.ptr_);
}
- bool System::HostApiIterator::operator!=(const System::HostApiIterator &rhs)
+ bool System::HostApiIterator::operator!=(const System::HostApiIterator &rhs) const
{
return !(*this == rhs);
}
Leave a comment