COMP: avoid Istream/List operator() ambiguity (gcc-4.8.5)

- introduced UList<bool>::operator()(label) as part of bf0b3d8872
  but with gcc-4.8.5 this participates in operator resolution even
  for non-bool lists!!
  Partial revert until this predicate handling is really required.
This commit is contained in:
Mark Olesen 2022-05-11 08:52:31 +02:00
parent dd560a6e3c
commit 0ed0856593
3 changed files with 9 additions and 16 deletions

View File

@ -429,7 +429,7 @@ int main(int argc, char *argv[])
// Suboption: "insideBox" // Suboption: "insideBox"
if (subsetDict.found("insideBox")) if (subsetDict.found("insideBox"))
{ {
treeBoundBox bb(subsetDict.lookup("insideBox")()); treeBoundBox bb(subsetDict.lookup("insideBox"));
Info<< "Subset edges inside box " << bb << endl; Info<< "Subset edges inside box " << bb << endl;
features().subsetBox(edgeStat, bb); features().subsetBox(edgeStat, bb);
@ -447,7 +447,7 @@ int main(int argc, char *argv[])
// Suboption: "outsideBox" // Suboption: "outsideBox"
else if (subsetDict.found("outsideBox")) else if (subsetDict.found("outsideBox"))
{ {
treeBoundBox bb(subsetDict.lookup("outsideBox")()); treeBoundBox bb(subsetDict.lookup("outsideBox"));
Info<< "Exclude edges outside box " << bb << endl; Info<< "Exclude edges outside box " << bb << endl;
features().excludeBox(edgeStat, bb); features().excludeBox(edgeStat, bb);
@ -490,7 +490,7 @@ int main(int argc, char *argv[])
// Suboption: "plane" // Suboption: "plane"
if (subsetDict.found("plane")) if (subsetDict.found("plane"))
{ {
plane cutPlane(subsetDict.lookup("plane")()); plane cutPlane(subsetDict.lookup("plane"));
Info<< "Only include feature edges that intersect the plane" Info<< "Only include feature edges that intersect the plane"
<< " with normal " << cutPlane.normal() << " with normal " << cutPlane.normal()

View File

@ -511,16 +511,6 @@ public:
// Special Methods // Special Methods
//- Test \c bool value at specified position,
//- always false for out-of-range access. Same as test().
// \note Predicate definition as per bitSet, HashSet
template<class TypeT = T>
typename std::enable_if<std::is_same<bool, TypeT>::value, bool>::type
inline operator()(const label i) const
{
return (i >= 0 && i < size_ && v_[i]);
}
//- Test \c bool value at specified position, //- Test \c bool value at specified position,
//- always false for out-of-range access. //- always false for out-of-range access.
// \note Method name compatibility with bitSet, HashSet // \note Method name compatibility with bitSet, HashSet

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -35,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef ITstream_H #ifndef Foam_ITstream_H
#define ITstream_H #define Foam_ITstream_H
#include "Istream.H" #include "Istream.H"
#include "tokenList.H" #include "tokenList.H"
@ -346,6 +346,9 @@ public:
// Member Operators // Member Operators
//- Use operator() from Istream
using Istream::operator();
//- Copy assignment, with rewind() //- Copy assignment, with rewind()
void operator=(const ITstream& is); void operator=(const ITstream& is);