31 #ifndef Foam_ccmInterfaceDefinitions_H 32 #define Foam_ccmInterfaceDefinitions_H 45 class interfaceDefinitions;
47 Ostream&
operator<<(Ostream& os,
const interfaceEntry& entry);
48 Ostream&
operator<<(Ostream& os,
const interfaceDefinitions& defs);
93 const label boundary0,
106 static bool isInPlace(
const std::string& configurationType)
108 return configurationType ==
"IN_PLACE";
115 return bndId ==
bnd0 || bndId ==
bnd1;
166 os <<
'(' <<
entry.bnd0 <<
' ' <<
entry.bnd1 <<
')';
177 class interfaceDefinitions
179 public Map<interfaceEntry>
183 const map_type& map() const
noexcept {
return *
this; }
194 using map_type::
size;
197 using map_type::
empty;
200 using map_type::
clear;
215 if (iter.val().inInterface(bndId))
231 ifname = iter.val().canonicalName(bndId);
250 os << defs.map() <<
nl;
constexpr interfaceEntry() noexcept
Default construct.
label bnd0
The first boundary.
static bool isInPlace(const std::string &configurationType)
Check for in-place interfaces.
constexpr char nl
The newline '\n' character (0x0a)
word interfaceName(label bndId)
Scan interface entries for one matching this boundary id.
A list of available interface definitions.
interfaceDefinitions() noexcept=default
Default construct.
label size() const noexcept
The number of elements in table.
A class for handling words, derived from Foam::string.
void clear()
Remove all entries from table.
word canonicalName(label bndId) const
Canonical name for boundary.
bool add(const interfaceEntry &entry)
Add (valid) interface entry.
A STARCCM interface definition is a pair of boundary ids.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
bool empty() const noexcept
True if the hash table is empty.
bool valid() const noexcept
Same as good()
bool good() const noexcept
True if all internal ids are non-negative.
label bnd1
The second boundary.
word canonicalName1() const
Canonical name for boundary 1.
Ostream & operator<<(Ostream &os, const interfaceEntry &entry)
word canonicalName0() const
Canonical name for boundary 0.
label id
The internal interface id.
bool isInterface(label bndId)
Scan available interface entries for one matching this boundary id.
bool inInterface(label bndId) const noexcept
True if the boundary id is in this interface.
bool set(const Key &key, const T &obj)
Copy assign a new entry, overwriting existing entries.
forAllConstIters(mixture.phases(), phase)
A keyword and a list of tokens is an 'entry'.
A HashTable to objects of type <T> with a label key.