A class for handling words, derived from Foam::string. More...
Public Member Functions | |
word ()=default | |
Default construct. More... | |
word (const word &)=default | |
Copy construct. More... | |
word (word &&w)=default | |
Move construct. More... | |
word (const string &s, bool doStrip=true) | |
Copy construct from Foam::string. More... | |
word (string &&s, bool doStrip=true) | |
Move construct from Foam::string. More... | |
word (const std::string &s, bool doStrip=true) | |
Copy construct from std::string. More... | |
word (std::string &&s, bool doStrip=true) | |
Move construct from std::string. More... | |
word (const char *s, bool doStrip=true) | |
Copy from character array. More... | |
word (const char *s, size_type len, bool doStrip) | |
Copy from buffer for a maximum number of characters. More... | |
word (Istream &is) | |
Construct from Istream. More... | |
void | stripInvalid () |
Strip invalid characters from this word. More... | |
word | ext () const |
Return file name extension (part after last .) More... | |
word & | ext (const word &ending) |
Append a '.' and the ending, and return the object. More... | |
word & | replace_ext (const word &ending) |
Remove extension (if any) and append a new one. More... | |
word | lessExt () const |
Return word without extension (part before last .) More... | |
word & | operator= (const word &s) |
Copy assignment, no character validation required. More... | |
word & | operator= (word &&s) |
Move assignment, no character validation required. More... | |
word & | operator= (const string &s) |
Copy assignment from Foam::string, stripping invalid characters. More... | |
word & | operator= (string &&s) |
Move assignment from Foam::string, stripping invalid characters. More... | |
word & | operator= (const std::string &s) |
Copy assignment from std::string, stripping invalid characters. More... | |
word & | operator= (std::string &&s) |
Move assignment from std::string, stripping invalid characters. More... | |
word & | operator= (const char *s) |
Copy, stripping invalid characters. More... | |
bool | hasExt () const |
Same as has_ext() More... | |
bool | hasExt (const std::string &s) const |
Same as has_ext() More... | |
bool | removeExt () |
Same as remove_ext() More... | |
template<class PrimitiveType > | |
Foam::word | printf (const char *fmt, const PrimitiveType &val) |
template<class PrimitiveType > | |
Foam::word | printf (const std::string &fmt, const PrimitiveType &val) |
bool | remove_ext () |
Remove extension, return true if string changed. More... | |
bool | has_ext () const |
Various checks for extensions. More... | |
bool | has_ext (const char *ending) const |
Various checks for extensions. More... | |
bool | has_ext (const std::string &ending) const |
Various checks for extensions. More... | |
bool | has_ext (const wordRe &ending) const |
Various checks for extensions. More... | |
Public Member Functions inherited from string | |
string ()=default | |
Default construct. More... | |
string (const std::string &str) | |
Copy construct from std::string. More... | |
string (std::string &&str) | |
Move construct from std::string. More... | |
string (const char *str) | |
Construct as copy of character array. More... | |
string (const char *str, const size_type len) | |
Construct as copy with a maximum number of characters. More... | |
string (const char c) | |
Construct from a single character. More... | |
string (const size_type len, const char c) | |
Construct fill copies of a single character. More... | |
string (Istream &is) | |
Construct from Istream. More... | |
bool | match (const std::string &text) const |
Test for equality. More... | |
string & | replace (const std::string &s1, const std::string &s2, size_type pos=0) |
Replace first occurrence of sub-string s1 with s2, beginning at pos. More... | |
string & | replaceAll (const std::string &s1, const std::string &s2, size_type pos=0) |
Replace all occurrences of sub-string s1 with s2, beginning at pos in the string. More... | |
string & | replaceAny (const std::string &s1, const char c2, size_type pos=0) |
Replace any occurrence of s1 characters with c2, beginning at pos in the string. More... | |
string & | expand (const bool allowEmpty=false) |
Inplace expand initial tags, tildes, and all occurrences of environment variables as per stringOps::expand. More... | |
bool | removeRepeated (const char character) |
Remove repeated characters. More... | |
bool | removeStart (const std::string &text) |
Remove the given text from the start of the string. More... | |
bool | removeStart (const char c) |
Remove leading character, unless string is a single character. More... | |
bool | removeEnd (const std::string &text) |
Remove the given text from the end of the string. More... | |
bool | removeEnd (const char c) |
Remove trailing character, unless string is a single character. More... | |
void | swap (std::string &str) |
Swap contents. Self-swapping is a no-op. More... | |
bool | operator() (const std::string &text) const |
Test for equality. Allows use as a predicate. More... | |
bool | contains (char c) const noexcept |
True if string contains given character (cf. C++23) More... | |
bool | contains (const std::string &s) const noexcept |
True if string contains given [string view] substring (cf. C++23) More... | |
bool | contains (const char *s) const |
True if string contains given substring (cf. C++23) More... | |
bool | starts_with (char c) const |
True if string starts with given character (cf. C++20) More... | |
bool | starts_with (const std::string &s) const |
True if string starts with given [string view] prefix (C++20) More... | |
bool | starts_with (const char *s) const |
True if string starts with given prefix (C++20) More... | |
bool | ends_with (char c) const |
True if string ends with given character (cf. C++20) More... | |
bool | ends_with (const std::string &s) const |
True if string ends with given [string view] suffix (cf. C++20) More... | |
bool | ends_with (const char *s) const |
True if string ends with given suffix (cf. C++20) More... | |
size_type | count (const char c) const |
Count the number of occurrences of the specified character in the string. More... | |
bool | startsWith (const std::string &s) const |
Deprecated(2019-11) More... | |
bool | endsWith (const std::string &s) const |
Deprecated(2019-11) More... | |
bool | removeTrailing (const char c) |
Deprecated(2019-11) More... | |
Static Public Member Functions | |
template<class PrimitiveType > | |
static word | printf (const char *fmt, const PrimitiveType &val) |
Use a printf-style formatter for a primitive. More... | |
template<class PrimitiveType > | |
static word | printf (const std::string &fmt, const PrimitiveType &val) |
Use a printf-style formatter for a primitive. More... | |
static bool | valid (char c) |
Is this character valid for a word? More... | |
static word | validate (const std::string &s, const bool prefix=false) |
Construct validated word (no invalid characters). More... | |
static word | validate (const char *first, const char *last, const bool prefix=false) |
Construct validated word (no invalid characters) from a sequence of characters in the range [first,last),. More... | |
Static Public Member Functions inherited from string | |
static std::string::size_type | length (const char *s) |
Length of the character sequence (with nullptr protection) More... | |
static std::string::size_type | length (const std::string &s) |
The length of the string. More... | |
template<class StringType > | |
static bool | valid (const std::string &str) |
Does the string contain valid characters only? More... | |
template<class StringType > | |
static bool | stripInvalid (std::string &str) |
Strip invalid characters from the given string. More... | |
template<class StringType > | |
static StringType | validate (const std::string &str) |
Return a valid String from the given string. More... | |
Static Public Attributes | |
static const char *const | typeName = "word" |
The typeName. More... | |
static int | debug |
Debugging. More... | |
static const word | null |
An empty word. More... | |
Static Public Attributes inherited from string | |
static const char *const | typeName = "string" |
The type name "string". More... | |
static int | debug |
The debug flag. More... | |
static const string | null |
An empty string. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from string | |
std::string::size_type | find_ext () const |
Find position of a file extension dot, return npos on failure. More... | |
word | ext () const |
Return file name extension (part after last .) More... | |
bool | ext (const word &ending) |
Append a '.' and the ending. More... | |
bool | has_ext () const |
Return true if it has an extension or simply ends with a '.'. More... | |
bool | has_ext (const char *ending) const |
Return true if the extension is the same as the given ending. More... | |
bool | has_ext (const std::string &ending) const |
Return true if the extension is the same as the given ending. More... | |
bool | has_ext (const wordRe &ending) const |
Return true if the extension matches the given ending. More... | |
bool | remove_path () |
Remove leading path, return true if string changed. More... | |
bool | remove_ext () |
Remove extension, return true if string changed. More... | |
Static Protected Member Functions inherited from string | |
static std::string::size_type | find_ext (const std::string &str) |
Find position of a file extension dot, return npos on failure. More... | |
template<class PrimitiveType > | |
static std::string::size_type | string_printf (std::string &output, const char *fmt, const PrimitiveType &val) |
A printf-style formatter for a primitive. More... | |
template<class PrimitiveType > | |
static std::string::size_type | string_printf (std::string &output, const std::string &fmt, const PrimitiveType &val) |
A printf-style formatter for a primitive. More... | |
A class for handling words, derived from Foam::string.
A word is a string of characters without whitespace, quotes, slashes, semicolons or brace brackets. Words are delimited by whitespace.
|
default |
Default construct.
Copy construct from Foam::string.
Definition at line 69 of file wordI.H.
References word::stripInvalid().
Move construct from Foam::string.
Definition at line 80 of file wordI.H.
References word::stripInvalid().
|
inline |
Copy construct from std::string.
Definition at line 102 of file wordI.H.
References word::stripInvalid().
|
inline |
Move construct from std::string.
Definition at line 91 of file wordI.H.
References word::stripInvalid().
|
inline |
Copy from character array.
Definition at line 113 of file wordI.H.
References word::stripInvalid().
Copy from buffer for a maximum number of characters.
Definition at line 124 of file wordI.H.
References word::stripInvalid().
|
inlinestatic |
Use a printf-style formatter for a primitive.
The representation is not checked for valid characters - it is assumed that the caller knows what they are doing
Referenced by isoSurfaceTopo::isoSurfaceTopo(), dataCloud::write(), vtkCloud::write(), ensightCase::write(), vtkWrite::write(), and isoAdvection::writeIsoFaces().
|
inlinestatic |
Use a printf-style formatter for a primitive.
The representation is not checked for valid characters - it is assumed that the caller knows what they are doing
|
inlinestatic |
Is this character valid for a word?
Definition at line 52 of file wordI.H.
References Foam::constant::universal::c, and Foam::isspace().
Referenced by ISstream::read(), VarName::valid(), keyType::valid(), wordRe::valid(), and word::validate().
|
static |
Construct validated word (no invalid characters).
Optionally prefix any leading digit with '_' to have words that work nicely as dictionary keywords.
Definition at line 39 of file word.C.
References Foam::constant::universal::c, s, and word::valid().
Referenced by exprDriver::addVariables(), fvExprDriver::evaluateVariableRemote(), STLAsciiParseManual::execute(), Foam::getStopAction(), entry::New(), Foam::operator>>(), NASedgeFormat::read(), OBJedgeFormat::read(), functionObjectList::readFunctionObject(), STARCDsurfaceFormatCore::readInpCellTable(), FIREMeshReader::readSelections(), and ABAQUSCore::readHelper::readSurfaceElements().
|
static |
Construct validated word (no invalid characters) from a sequence of characters in the range [first,last),.
Optionally prefix any leading digit with '_'.
Definition at line 72 of file word.C.
References Foam::constant::universal::c, and word::valid().
|
inline |
Strip invalid characters from this word.
Trips an abort on invalid characters for debug 2 or greater
Definition at line 137 of file wordI.H.
References Foam::ensightOutput::debug, Foam::endl(), and Foam::exit().
Referenced by word::word().
|
inline |
Return file name extension (part after last .)
Definition at line 171 of file wordI.H.
References string::ext().
Referenced by edgeMesh::canRead(), UnsortedMeshedSurface< Face >::canRead(), MeshedSurface< Foam::face >::canRead(), triSurface::canRead(), extendedEdgeMesh::canRead(), fileWriter::ext(), dlLibraryTable::fullname(), IOobject::group(), edgeMesh::New(), UnsortedMeshedSurface< Face >::New(), MeshedSurface< Foam::face >::New(), extendedEdgeMesh::New(), triSurface::New(), edgeMesh::read(), extendedEdgeMesh::read(), coordSetWriter::suffix(), MeshedSurfaceProxy< Face >::write(), edgeMesh::write(), UnsortedMeshedSurface< Face >::write(), MeshedSurface< Foam::face >::write(), surfMesh::write(), and triSurface::write().
|
inline |
Append a '.' and the ending, and return the object.
The '.' and ending will not be added when the ending is empty, or when the file name is empty or ended with a '/'.
Definition at line 177 of file wordI.H.
References string::ext().
|
inline |
Remove extension (if any) and append a new one.
Definition at line 184 of file wordI.H.
References string::ext(), and string::remove_ext().
|
inline |
Return word without extension (part before last .)
Definition at line 192 of file wordI.H.
Referenced by IOobject::member(), UnsortedMeshedSurface< Face >::New(), MeshedSurface< Foam::face >::New(), triSurface::New(), edgeMesh::read(), and extendedEdgeMesh::read().
|
inline |
Copy assignment, no character validation required.
Self-assignment is a no-op
Definition at line 207 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Move assignment, no character validation required.
Self-assignment is a no-op
Definition at line 218 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Copy assignment from Foam::string, stripping invalid characters.
Definition at line 229 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Move assignment from Foam::string, stripping invalid characters.
Definition at line 237 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Copy assignment from std::string, stripping invalid characters.
Definition at line 245 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Move assignment from std::string, stripping invalid characters.
Definition at line 253 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Copy, stripping invalid characters.
Definition at line 261 of file wordI.H.
References Foam::FieldOps::assign(), and s.
|
inline |
Same as has_ext()
Definition at line 287 of file word.H.
References string::has_ext().
|
inline |
Same as has_ext()
Definition at line 292 of file word.H.
References string::has_ext(), and s.
|
inline |
Same as remove_ext()
Definition at line 297 of file word.H.
References string::remove_ext().
|
inline |
Definition at line 28 of file wordI.H.
References Foam::output().
|
inline |
Definition at line 41 of file wordI.H.
References Foam::output().
|
inline |
Remove extension, return true if string changed.
Definition at line 93 of file stringI.H.
Referenced by Foam::readDir().
|
inline |
Various checks for extensions.
Definition at line 43 of file stringI.H.
Referenced by edgeMesh::canRead(), UnsortedMeshedSurface< Face >::canRead(), MeshedSurface< Foam::face >::canRead(), triSurface::canRead(), extendedEdgeMesh::canRead(), edgeMesh::New(), UnsortedMeshedSurface< Face >::New(), MeshedSurface< Foam::face >::New(), extendedEdgeMesh::New(), triSurface::New(), edgeMesh::read(), extendedEdgeMesh::read(), and Foam::readDir().
|
static |
Debugging.
Definition at line 79 of file word.H.
Referenced by keyType::setType(), keyType::uncompile(), and wordRe::uncompile().
|
static |
An empty word.
Definition at line 84 of file word.H.
Referenced by FIREMeshReader::addPatches(), faceZoneSet::addSet(), vtmWriter::append(), interfaceEntry::canonicalName(), surfaceFormatsCore::checkFile(), fluxSummary::checkFlowType(), externalCoupled::compositeName(), pointPatch::constraintType(), pointPatchFieldBase::constraintType(), Foam::createZeroBoundaryPtr(), STLAsciiParseManual::execute(), fileOperation::exists(), masterUncollatedFileOperation::exists(), faMesh::faMesh(), fvExpressionField::fieldName(), Foam::filteredName(), surfaceFormatsCore::findFile(), topoSet::findIOobject(), fvExprDriver::getFieldClassName(), polyTopoChange::makeMesh(), dynamicRefineFvMesh::mapFields(), displacementMotionSolverMeshMover::move(), basicSolidChemistryModel::New(), faMeshTools::newMesh(), collatedFileOperation::objectPath(), properties::objectResultType(), orderedPhasePair::otherName(), decomposedBlockData::read(), regionFunctionObject::read(), rigidBodyMotion::read(), BilgerMixtureFraction::read(), sampledSurfaces::read(), reference::reference(), polyMesh::regionName(), surfaceFormatsCore::relativeFilePath(), sizeDistribution::setCellZoneCells(), sensitivitySurfacePoints::setSuffixName(), faceZoneSet::subset(), faceZoneSet::subtractSet(), triSurface::triSurface(), triSurfaceMesh::triSurfaceMesh(), dynamicRefineFvMesh::unrefine(), UnsortedMeshedSurface< Face >::UnsortedMeshedSurface(), token::wordToken(), surfaceSlipDisplacementPointPatchVectorField::write(), surfaceDisplacementPointPatchVectorField::write(), multiFieldValue::write(), mappedPatchBase::write(), caseInfo::writeFileDicts(), nutWallFunctionFvPatchScalarField::writeLocalEntries(), and Foam::writeMeshObject().