65 faBoundaryMeshEntries reader(
io);
67 return PtrList<entry>(std::move(
static_cast<PtrList<entry>&
>(reader)));
90 dict.readIfPresent(key, result[i]);
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);
129 os << entries.size();
142 const auto&
key = entries[patchi].keyword();
143 const auto&
dict = entries[patchi].dict();
157 const UPtrList<entry>& entries
192 if (!keyword.empty())
200 if (!keyword.empty())
os.endEntry();
213 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 finite-area boundary patches. The object is *never* registered ...
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.
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.
faBoundaryMeshEntries(const IOobject &io)
Read construct from IOobject. Never register!
void writeEntry(Ostream &os) const
Write as a plain list of entries.
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.
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.