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().

Copy construct from std::string.
Definition at line 102 of file wordI.H.
References word::stripInvalid().

Move construct from std::string.
Definition at line 91 of file wordI.H.
References word::stripInvalid().

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(), vtkWrite::write(), ensightCase::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(), dictionary::csearchCompat(), fvExprDriver::evaluateVariableRemote(), STLAsciiParseManual::execute(), IOobject::fileNameComponents(), 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 71 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(), extendedEdgeMesh::canRead(), MeshedSurface< Face >::canRead(), triSurface::canRead(), UnsortedMeshedSurface< Face >::canRead(), fileWriter::ext(), dlLibraryTable::fullname(), IOobject::group(), edgeMesh::New(), extendedEdgeMesh::New(), triSurface::New(), MeshedSurface< Face >::New(), UnsortedMeshedSurface< Face >::New(), foamReport::read(), edgeMesh::read(), extendedEdgeMesh::read(), coordSetWriter::suffix(), triSurface::write(), edgeMesh::write(), MeshedSurface< Face >::write(), MeshedSurfaceProxy< Face >::write(), UnsortedMeshedSurface< Face >::write(), and surfMesh::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(), triSurface::New(), MeshedSurface< Face >::New(), UnsortedMeshedSurface< Face >::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 word::has_ext().

|
inline |
Same as has_ext()
Definition at line 292 of file word.H.
References word::has_ext(), and s().

|
inline |
Same as remove_ext()
Definition at line 297 of file word.H.
References word::remove_ext().

|
inline |
Definition at line 27 of file wordI.H.
References Foam::output(), and string::string_printf().

|
inline |
Definition at line 40 of file wordI.H.
References Foam::output().

|
inline |
Remove extension, return true if string changed.
Definition at line 161 of file stringI.H.
Referenced by Foam::readDir(), and word::removeExt().

|
inline |
Various checks for extensions.
Definition at line 134 of file stringI.H.
Referenced by edgeMesh::canRead(), extendedEdgeMesh::canRead(), MeshedSurface< Face >::canRead(), triSurface::canRead(), UnsortedMeshedSurface< Face >::canRead(), word::hasExt(), edgeMesh::New(), extendedEdgeMesh::New(), MeshedSurface< Face >::New(), triSurface::New(), UnsortedMeshedSurface< Face >::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(), surfaceFormatsCore::checkFile(), fluxSummary::checkFlowType(), externalCoupled::compositeName(), pointPatchFieldBase::constraintType(), pointPatch::constraintType(), Foam::createZeroBoundaryPtr(), STLAsciiParseManual::execute(), masterUncollatedFileOperation::exists(), fileOperation::exists(), faMesh::faMesh(), fvExpressionField::fieldName(), Foam::filteredName(), surfaceFormatsCore::findFile(), topoSet::findIOobject(), fvExprDriver::getFieldClassName(), sizeDistribution::initialise(), polyTopoChange::makeMesh(), dynamicRefineFvMesh::mapFields(), MeshedSurface< Face >::MeshedSurface(), displacementMotionSolverMeshMover::move(), basicSolidChemistryModel::New(), combustionModel::New(), faMeshTools::newMesh(), collatedFileOperation::objectPath(), properties::objectResultType(), orderedPhasePair::otherName(), outletMappedUniformInletFvPatchField< Type >::outletMappedUniformInletFvPatchField(), decomposedBlockData::read(), BilgerMixtureFraction::read(), regionFunctionObject::read(), rigidBodyMotion::read(), sampledSurfaces::read(), moleFractions< ThermoType >::read(), reference::reference(), polyMesh::regionName(), surfaceFormatsCore::relativeFilePath(), sampledPatchInternalField::sampledPatchInternalField(), sizeDistribution::setCellZoneCells(), sensitivitySurfacePoints::setSuffixName(), faceZoneSet::subset(), faceZoneSet::subtractSet(), StandardChemistryModel< ReactionThermo, ThermoType >::tc(), triSurface::triSurface(), triSurfaceMesh::triSurfaceMesh(), dynamicRefineFvMesh::unrefine(), UnsortedMeshedSurface< Face >::UnsortedMeshedSurface(), token::wordToken(), multiFieldValue::write(), mappedMixedFieldFvPatchField< Type >::write(), mappedMixedFvPatchField< Type >::write(), edgeSlipDisplacementPointPatchVectorField::write(), pointAttractionDisplacementPointPatchVectorField::write(), surfaceDisplacementPointPatchVectorField::write(), surfaceSlipDisplacementPointPatchVectorField::write(), mappedPatchBase::write(), caseInfo::writeFileDicts(), nutWallFunctionFvPatchScalarField::writeLocalEntries(), and Foam::writeMeshObject().