Move operator*(vm_distance,vm_distance) into class scope
clang -Wunused-function warns about a 'static constexpr' function defined in a header if the header is ever included in a file which does not call the function. Move the function into class scope to silence the warning and prevent the compiler from considering it when resolving operator*(T1,T2). Reported-by: btb <https://github.com/dxx-rebirth/dxx-rebirth/pull/54#issuecomment-86252750>
This commit is contained in:
parent
99e4fedcd3
commit
7045b44386
|
@ -38,6 +38,8 @@ struct vms_vector
|
|||
fix x, y, z;
|
||||
};
|
||||
|
||||
class vm_distance_squared;
|
||||
|
||||
class vm_distance
|
||||
{
|
||||
public:
|
||||
|
@ -107,6 +109,7 @@ public:
|
|||
{
|
||||
return vm_distance{0};
|
||||
}
|
||||
constexpr vm_distance_squared operator*(const vm_distance &) const;
|
||||
};
|
||||
|
||||
class vm_magnitude : public vm_distance
|
||||
|
@ -174,9 +177,9 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
static constexpr vm_distance_squared operator*(const vm_distance &a, const vm_distance &b)
|
||||
constexpr vm_distance_squared vm_distance::operator*(const vm_distance &rhs) const
|
||||
{
|
||||
return vm_distance_squared{static_cast<fix64>(static_cast<fix>(a)) * static_cast<fix64>(static_cast<fix>(b))};
|
||||
return vm_distance_squared{static_cast<fix64>(static_cast<fix>(*this)) * static_cast<fix64>(static_cast<fix>(rhs))};
|
||||
}
|
||||
|
||||
#define DEFINE_SERIAL_VMS_VECTOR_TO_MESSAGE() \
|
||||
|
|
Loading…
Reference in a new issue