diff --git a/src/lagrangian/basic/Particle/Particle.C b/src/lagrangian/basic/Particle/Particle.C index 9f142e710bb07a9fd7f28cf0143de8a222c88ed6..2d94b9c29d4f05341f505430efbb2f8cc64dc01a 100644 --- a/src/lagrangian/basic/Particle/Particle.C +++ b/src/lagrangian/basic/Particle/Particle.C @@ -528,6 +528,34 @@ void Foam::Particle<ParticleType>::hitPatch {} +// * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * // + +template<class ParticleType> +bool Foam::operator== +( + const Particle<ParticleType>& pA, + const Particle<ParticleType>& pB +) +{ + return + ( + pA.origProc() == pB.origProc() + && pA.origId() == pB.origId() + ); +} + + +template<class ParticleType> +bool Foam::operator!= +( + const Particle<ParticleType>& pA, + const Particle<ParticleType>& pB +) +{ + return !(pA == pB); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "ParticleIO.C" diff --git a/src/lagrangian/basic/Particle/Particle.H b/src/lagrangian/basic/Particle/Particle.H index 95a4b8e338fbad589d280858ccb5f5759a70a4d5..e91a4885d37153a915ce7b134e98d64796c97964 100644 --- a/src/lagrangian/basic/Particle/Particle.H +++ b/src/lagrangian/basic/Particle/Particle.H @@ -59,6 +59,8 @@ class polyPatch; template<class ParticleType> class Particle; +// Friend Operators + template<class ParticleType> Ostream& operator<< ( @@ -66,6 +68,11 @@ Ostream& operator<< const Particle<ParticleType>& ); +template<class ParticleType> +bool operator==(const Particle<ParticleType>&, const Particle<ParticleType>&); + +template<class ParticleType> +bool operator!=(const Particle<ParticleType>&, const Particle<ParticleType>&); /*---------------------------------------------------------------------------*\ Class Particle Declaration @@ -467,13 +474,25 @@ public: //- Write the particle data void write(Ostream& os, bool writeFields) const; - // Ostream Operator + // Friend Operators friend Ostream& operator<< <ParticleType> ( Ostream&, const Particle<ParticleType>& ); + + friend bool operator== <ParticleType> + ( + const Particle<ParticleType>& pA, + const Particle<ParticleType>& pB + ); + + friend bool operator!= <ParticleType> + ( + const Particle<ParticleType>& pA, + const Particle<ParticleType>& pB + ); };