31 #ifndef ccmSolutionTable_H 32 #define ccmSolutionTable_H 50 Ostream&
operator<<(Ostream&
os,
const fieldEntry& entry);
51 Ostream&
operator<<(Ostream&
os,
const fieldTable& entry);
52 Ostream&
operator<<(Ostream&
os,
const solutionEntry& entry);
81 for (
const Type& item : *
this)
83 if (item.name() ==
key)
100 for (; (iter !=
last); ++iter)
102 if ((*iter).name() ==
key)
115 const wordRes& allow,
116 const wordRes& deny = wordRes()
123 for (
const Type& item : *
this)
127 if (allow.match(
name) && !deny.match(
name))
172 const word& shortName,
174 const char*
units =
nullptr 222 if (maxCellId_ < val)
232 if (maxFaceId_ < val)
248 <<
" [" <<
entry.units_.c_str()
249 <<
"] maxCell: " <<
entry.maxCellId_
250 <<
" maxFace: " <<
entry.maxFaceId_;
314 <<
" iter: " <<
entry.iter_
315 <<
" time: " <<
entry.time_;
354 for (
const auto& item : *
this)
356 const label val = item.maxCellId();
372 for (
const auto& item : *
this)
374 const label val = item.maxFaceId();
388 friend Ostream&
operator<<
394 os << static_cast<const namesList<fieldEntry>&>(tbl)
396 <<
"maxCell: " << tbl.maxCellId()
397 <<
" maxFace: " << tbl.maxFaceId();
typename SLList< solutionEntry >::const_iterator const_iterator
label iteration() const noexcept
The solution iteration/timestep.
typename SLList< solutionEntry >::iterator iterator
void resize(const label len)
Adjust allocated size of list.
A ccm solution entry with name, iteration and time.
const iterator & end()
End of list for forward iterators.
scalar timeValue() const noexcept
The solution time (sec)
Template class for non-intrusive linked lists.
constexpr char nl
The newline '\n' character (0x0a)
An STL-conforming const_iterator.
An STL-conforming iterator.
label maxCellId() const
The maximum cell Id referenced in the list.
label maxFaceId() const noexcept
The max face id for the field.
fieldEntry(const word &shortName, const string &fullName, const char *units=nullptr)
Construct from components with optional units.
const string & units() const noexcept
The field units.
label maxFaceId() const
The maximum face Id referenced in the list.
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
const string & fullName() const noexcept
The full field name.
A class for handling words, derived from Foam::string.
reference last()
The last entry in the list.
const word & name() const noexcept
The field name (PROSTAR short name)
bool found(const word &key) const
True if a list element has a name that matches key.
solutionEntry(const word &name, const label iteration, const scalar timeValue=0)
Construct from components.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
iterator begin()
Iterator to first item in list with non-const access.
A ccm field entry with short name, name, maxId and type.
namesList< solutionEntry > solutionTable
A list of the available fields.
label maxCellId() const noexcept
The max cell id for the field.
namesList()=default
Default construct.
List< word > findNames(const wordRes &allow, const wordRes &deny=wordRes()) const
Return a list of names in allow-list and not in deny-list.
auto key(const Type &t) -> typename std::enable_if< std::is_enum< Type >::value, typename std::underlying_type< Type >::type >::type
A linked-list that is searchable by the 'name()' of the items.
fieldTable()=default
Default construct.
Ostream & operator<<(Ostream &os, const interfaceEntry &entry)
const word & name() const noexcept
The solution name.
Non-intrusive singly-linked list.
iterator find(const word &key)
Find list element by name.
A keyword and a list of tokens is an 'entry'.