ENH: Adding operator== and operator!= to Particle. Basing equality on

the origProc and origId or the particle only.
This commit is contained in:
graham 2010-04-07 17:23:17 +01:00
parent 0177458406
commit 93cfa2ea4f
2 changed files with 48 additions and 1 deletions

View File

@ -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"

View File

@ -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
);
};