diff --git a/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.C b/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.C index 0a7f057286..9c7ee2d550 100644 --- a/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.C +++ b/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.C @@ -57,19 +57,19 @@ bool Foam::UILList::operator== const UILList& rhs ) const { - if (this->size() != rhs.size()) + bool equal = (this->size() == rhs.size()); + if (!equal) { return false; } - bool equal = true; - const_iterator iter1 = this->begin(); const_iterator iter2 = rhs.begin(); for (; iter1 != this->end(); ++iter1, ++iter2) { - equal = equal && iter1() == iter2(); + equal = (iter1() == iter2()); + if (!equal) break; } return equal; diff --git a/src/OpenFOAM/containers/Lists/FixedList/FixedList.C b/src/OpenFOAM/containers/Lists/FixedList/FixedList.C index 8a3b5d078b..03c3d16768 100644 --- a/src/OpenFOAM/containers/Lists/FixedList/FixedList.C +++ b/src/OpenFOAM/containers/Lists/FixedList/FixedList.C @@ -53,7 +53,8 @@ bool Foam::FixedList::operator==(const FixedList& a) const List_CONST_ACCESS(T, (a), ap); List_FOR_ALL((*this), i) - equal = equal && (List_ELEM((*this), vp, i) == List_ELEM((a), ap, i)); + equal = (List_ELEM((*this), vp, i) == List_ELEM((a), ap, i)); + if (!equal) break; List_END_FOR_ALL return equal; diff --git a/src/OpenFOAM/containers/Lists/List/ListLoopM.H b/src/OpenFOAM/containers/Lists/List/ListLoopM.H index 9e68826205..032edb3052 100644 --- a/src/OpenFOAM/containers/Lists/List/ListLoopM.H +++ b/src/OpenFOAM/containers/Lists/List/ListLoopM.H @@ -22,8 +22,7 @@ License along with OpenFOAM. If not, see . Description - List\ is a 1D vector of objects of type T, where the size of the - vector is known and used for subscript bounds checking, etc. + Macros for accessing List elements \*---------------------------------------------------------------------------*/ @@ -37,8 +36,8 @@ Description // Element access looping using [] for vector machines #define List_FOR_ALL(f, i) \ - const label _n##i = (f).size();\ - for (label i=0; i<_n##i; i++) \ + const label _n##i = (f).size(); \ + for (label i=0; i<_n##i; ++i) \ { #define List_END_FOR_ALL } @@ -60,7 +59,7 @@ Description // Pointer looping for scalar machines #define List_FOR_ALL(f, i) \ - label i = (f).size(); \ + label i = (f).size(); \ while (i--) \ { \ diff --git a/src/OpenFOAM/containers/Lists/UList/UList.C b/src/OpenFOAM/containers/Lists/UList/UList.C index b36eae19e5..7bc6b9d20c 100644 --- a/src/OpenFOAM/containers/Lists/UList/UList.C +++ b/src/OpenFOAM/containers/Lists/UList/UList.C @@ -151,18 +151,18 @@ void Foam::shuffle(UList& a) template bool Foam::UList::operator==(const UList& a) const { - if (this->size_ != a.size_) + bool equal = (this->size_ == a.size_); + if (!equal) { return false; } - bool equal = true; - List_CONST_ACCESS(T, (*this), vp); List_CONST_ACCESS(T, (a), ap); List_FOR_ALL((*this), i) - equal = equal && (List_ELEM((*this), vp, i) == List_ELEM((a), ap, i)); + equal = (List_ELEM((*this), vp, i) == List_ELEM((a), ap, i)); + if (!equal) break; List_END_FOR_ALL return equal;