66 polyBoundaryMeshEntries reader(
io);
68 return PtrList<entry>(std::move(
static_cast<PtrList<entry>&
>(reader)));
91 dict.readIfPresent(key, result[i]);
106 label nNonProcessor = entries.
size();
112 const word pType =
dict.get<word>(
"type");
113 if (pType == processorPolyPatch::typeName)
115 nNonProcessor = patchi;
120 entries.resize(nNonProcessor);
130 os << entries.size();
143 const auto&
key = entries[patchi].keyword();
144 const auto&
dict = entries[patchi].dict();
223 if (!keyword.empty())
231 if (!keyword.empty())
os.endEntry();
244 const bool writeOnProc
A simple container of IOobject preferences. Can also be used for general handling of read/no-read/rea...
@ NO_REGISTER
Do not request registration (bool: false).
bool isReadOptional() const noexcept
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT].
bool isReadRequired() const noexcept
True if (MUST_READ | READ_MODIFIED) bits are set.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A simple container for options an IOstream can normally have.
compressionType compression() const noexcept
Get the stream compression.
@ UNCOMPRESSED
compression = false
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
constexpr PtrList() noexcept
void resize(const label newLen)
Adjust size of PtrList.
void size(const label n)
Older name for setAddressableSize.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
bool empty() const noexcept
True if the list is empty (ie, size() is zero).
label size() const noexcept
The number of entries in the list.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
void writeEntry(Ostream &os) const
Write sub-dictionary with its dictName as its header.
Read and store dictionary entries for boundary patches The object is *never* registered to avoid regi...
labelList patchStarts() const
Return a list of patch start face indices, uses "startFace" entry.
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc=true) const
Write using stream options, forces UNCOMPRESSED.
wordList types() const
Return a list of patch types, uses the "patch" entry.
virtual bool writeData(Ostream &os) const
The writeData member function required by regIOobject.
polyBoundaryMeshEntries(const IOobject &io)
Read construct from IOobject. Never register!
static PtrList< entry > readContents(const IOobject &io)
Read and return contents. The IOobject is never registered.
static bool writeEntries(Ostream &os, const UPtrList< entry > &entries)
Write list of entries.
static void removeProcPatches(PtrList< entry > &entries)
Truncate entries at the first processor patch entry.
void writeEntry(Ostream &os) const
Write as a plain list of entries.
labelList patchSizes() const
Return a list of patch sizes, uses "nFaces" entry.
void removeProcPatches()
Truncate at the first processor 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) const
Write using stream options.
void close()
Close Istream.
regIOobject(const IOobject &io, const bool isTimeObject=false)
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIO...
bool headerOk()
Read and check header info. Does not check the headerClassName.
@ BEGIN_LIST
Begin list [isseparator].
@ END_LIST
End list [isseparator].
A class for handling words, derived from Foam::string.
#define defineTypeName(Type)
Define the typeName.
OBJstream os(runTime.globalPath()/outputName)
constexpr auto key(const Type &t) noexcept
Helper function to return the enum value.
List< word > wordList
List of word.
List< label > labelList
A List of labels.
static List< T > extract(const word &key, const UPtrList< entry > &entries, const T &initValue)
Ostream & incrIndent(Ostream &os)
Increment the indent level.
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
constexpr char nl
The newline '\n' character (0x0a).
#define forAll(list, i)
Loop across all elements in list.