Commit dfc83858 authored by Mark Olesen's avatar Mark Olesen
Browse files

STYLE: expose List uniform() method as public

parent ac7a8803
......@@ -90,9 +90,6 @@ protected:
// Protected Member Functions
//- True if all entries have identical values, and list is non-empty
inline bool uniform() const;
//- Write the FixedList with its compound type
void writeEntry(Ostream& os) const;
......@@ -242,6 +239,9 @@ public:
//- Check index is within valid range [0,N)
inline void checkIndex(const label i) const;
//- True if all entries have identical values, and list is non-empty
inline bool uniform() const;
// Search
......
......@@ -37,25 +37,6 @@ inline const Foam::FixedList<T, N>& Foam::FixedList<T, N>::null()
}
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class T, unsigned N>
inline bool Foam::FixedList<T, N>::uniform() const
{
if (empty()) return false; // <- Compile-time disabled anyhow
for (unsigned i=1; i<N; ++i)
{
if (v_[0] != v_[i])
{
return false;
}
}
return true;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class T, unsigned N>
......@@ -299,6 +280,23 @@ inline void Foam::FixedList<T, N>::checkIndex(const label i) const
}
template<class T, unsigned N>
inline bool Foam::FixedList<T, N>::uniform() const
{
if (empty()) return false; // <- Compile-time disabled anyhow
for (unsigned i=1; i<N; ++i)
{
if (v_[0] != v_[i])
{
return false;
}
}
return true;
}
template<class T, unsigned N>
inline bool Foam::FixedList<T, N>::found
(
......
......@@ -67,14 +67,6 @@ class UIndirectList
UList<T>& values_;
const labelUList& addressing_;
protected:
// Protected Member Functions
//- True if all entries have identical values, and list is non-empty
inline bool uniform() const;
public:
// STL type definitions
......@@ -123,6 +115,9 @@ public:
//- Return true if the list is empty (ie, size() is zero).
inline bool empty() const;
//- True if all entries have identical values, and list is non-empty
inline bool uniform() const;
//- Return the first element of the list.
inline T& first();
......
......@@ -23,32 +23,6 @@ License
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class T>
inline bool Foam::UIndirectList<T>::uniform() const
{
const label len = this->size();
if (!len)
{
return false;
}
const T& val = (*this)[0];
for (label i=1; i<len; ++i)
{
if (val != (*this)[i])
{
return false;
}
}
return true;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class T>
......@@ -79,6 +53,32 @@ inline bool Foam::UIndirectList<T>::empty() const
}
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class T>
inline bool Foam::UIndirectList<T>::uniform() const
{
const label len = this->size();
if (!len)
{
return false;
}
const T& val = (*this)[0];
for (label i=1; i<len; ++i)
{
if (val != (*this)[i])
{
return false;
}
}
return true;
}
template<class T>
inline T& Foam::UIndirectList<T>::first()
{
......
......@@ -112,9 +112,6 @@ protected:
// Use with care
inline void size(const label n);
//- True if all entries have identical values, and list is non-empty
inline bool uniform() const;
//- Write the UList with its compound type
void writeEntry(Ostream& os) const;
......@@ -280,19 +277,22 @@ public:
inline const T& last() const;
// Check
// Check
//- Check start is within valid range [0,size)
inline void checkStart(const label start) const;
//- Check start is within valid range [0,size)
inline void checkStart(const label start) const;
//- Check size is within valid range [0,size]
inline void checkSize(const label size) const;
//- Check size is within valid range [0,size]
inline void checkSize(const label size) const;
//- Check index is within valid range [0,size)
inline void checkIndex(const label i) const;
//- Check index is within valid range [0,size)
inline void checkIndex(const label i) const;
//- True if all entries have identical values, and list is non-empty
inline bool uniform() const;
// Search
// Search
//- Find index of the first occurrence of the value.
// When start is specified, any occurrences before start are ignored.
......@@ -313,7 +313,7 @@ public:
inline bool found(const T& val, const label start=0) const;
// Edit
// Edit
//- Move element to the first position.
void moveFirst(const label i);
......@@ -328,7 +328,7 @@ public:
void swapLast(const label i);
// Copy
// Copy
//- Copy the pointer held by the given UList
inline void shallowCopy(const UList<T>& list);
......
......@@ -27,33 +27,6 @@ License
#include "pTraits.H"
#include "Swap.H"
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class T>
inline bool Foam::UList<T>::uniform() const
{
const label len = size();
if (len == 0)
{
return false;
}
const T& val = first();
for (label i=1; i<len; ++i)
{
if (val != (*this)[i])
{
return false;
}
}
return true;
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class T>
......@@ -166,6 +139,30 @@ inline void Foam::UList<T>::checkIndex(const label i) const
}
template<class T>
inline bool Foam::UList<T>::uniform() const
{
const label len = size();
if (len == 0)
{
return false;
}
const T& val = first();
for (label i=1; i<len; ++i)
{
if (val != (*this)[i])
{
return false;
}
}
return true;
}
template<class T>
inline T& Foam::UList<T>::first()
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment