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 c22fce2006
commit bbb88e330c
2 changed files with 48 additions and 1 deletions

View File

@ -873,6 +873,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
@ -505,13 +512,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
);
};