52 Istream& is = readStream(typeName);
65 faBoundaryMeshEntries reader(
io);
67 return PtrList<entry>(std::move(
static_cast<PtrList<entry>&
>(reader)));
105 label nNonProcessor = entries.size();
111 const word pType =
dict.
get<word>(
"type");
112 if (pType == processorFaPatch::typeName)
114 nNonProcessor = patchi;
119 entries.resize(nNonProcessor);
126 const UPtrList<entry>& entries
129 os << entries.size();
142 const auto&
key = entries[patchi].keyword();
143 const auto&
dict = entries[patchi].dict();
160 return extract<word>(
"type", entries,
"patch");
168 removeProcPatches(*
this);
174 return extract<word>(
"type", *
this,
"patch");
180 writeEntries(
os, *
this);
192 if (!keyword.empty())
198 writeEntries(
os, entries);
206 return writeEntries(
os, *
this);
213 const bool writeOnProc
void writeEntry(Ostream &os) const
Write sub-dictionary with its dictName as its header.
faBoundaryMeshEntries(const IOobject &io)
Read construct from IOobject. Never register!
static bool writeEntries(Ostream &os, const UPtrList< entry > &entries)
Write list of entries.
virtual Ostream & write(const char c) override
Write character.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual bool check(const char *operation) const
Check IOstream status for given operation.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
constexpr char nl
The newline '\n' character (0x0a)
bool headerOk()
Read and check header info. Does not check the headerClassName.
Begin list [isseparator].
A simple container for options an IOstream can normally have.
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc) const
Write using stream options.
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T. FatalIOError if not found, or if the number of tokens is incorrect.
bool isReadOptional() const noexcept
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT].
static List< T > extract(const word &key, const UPtrList< entry > &entries, const T &initValue)
#define forAll(list, i)
Loop across all elements in list.
defineTypeName(manifoldCellsMeshObject)
void writeEntry(Ostream &os) const
Write as a plain list of entries.
void close()
Close Istream.
A class for handling words, derived from Foam::string.
label size() const noexcept
The number of entries in the list.
void removeProcPatches()
Truncate at the first processor patch entry.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
Find an entry if present, and assign to T val. FatalIOError if it is found and the number of tokens i...
OBJstream os(runTime.globalPath()/outputName)
compressionType compression() const noexcept
Get the stream compression.
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
bool isReadRequired() const noexcept
True if (MUST_READ | READ_MODIFIED) bits are set.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual bool writeData(Ostream &os) const
The writeData member function required by regIOobject.
Read and store dictionary entries for finite-area boundary patches. The object is *never* registered ...
bool empty() const noexcept
True if the list is empty (ie, size() is zero)
auto key(const Type &t) -> typename std::enable_if< std::is_enum< Type >::value, typename std::underlying_type< Type >::type >::type
bool good() const noexcept
True if next operation might succeed.
A simple container of IOobject preferences. Can also be used for general handling of read/no-read/rea...
static PtrList< entry > readContents(const IOobject &io)
Read and return contents. The IOobject is never registered.
wordList types() const
Return a list of patch types, uses the "patch" entry.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc=true) const
Write using stream options, forces UNCOMPRESSED.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
virtual Ostream & endEntry()
Write end entry (';') followed by newline.
Ostream & incrIndent(Ostream &os)
Increment the indent level.
Defines the attributes of an object for which implicit objectRegistry management is supported...