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 | lessExt () const |
Return word without extension (part before last .) 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 & | 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... | |
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 | hasExt () const |
Various checks for extensions. More... | |
bool | hasExt (const char *ending) const |
Various checks for extensions. More... | |
bool | hasExt (const std::string &ending) const |
Various checks for extensions. More... | |
bool | hasExt (const wordRe &ending) const |
Various checks for extensions. More... | |
bool | removeExt () |
Remove extension, returning true if string changed. More... | |
![]() | |
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) |
string & | replaceAll (const std::string &s1, const std::string &s2, size_type pos=0) |
string & | replaceAny (const std::string &s1, const char c2, size_type pos=0) |
string & | expand (const bool allowEmpty=false) |
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 | starts_with (const std::string &s) const |
True if string starts with the given prefix (cf. C++20) More... | |
bool | starts_with (const char c) const |
True if string starts with the given character (cf. C++20) More... | |
bool | ends_with (const std::string &s) const |
True if string ends with the given suffix (cf. C++20) More... | |
bool | ends_with (const char c) const |
True if string ends with the given character (cf. C++20) More... | |
size_type | count (const char c) const |
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) |
![]() | |
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 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 | |
![]() | |
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 | hasPath () const |
Return true if it contains a '/' character. More... | |
bool | hasExt () const |
Return true if it has an extension or simply ends with a '.'. More... | |
bool | hasExt (const char *ending) const |
Return true if the extension is the same as the given ending. More... | |
bool | hasExt (const std::string &ending) const |
Return true if the extension is the same as the given ending. More... | |
bool | hasExt (const wordRe &ending) const |
Return true if the extension matches the given ending. More... | |
bool | removeExt () |
Remove extension, returning true if string changed. More... | |
bool | removePath () |
Remove leading path, returning true if string changed. More... | |
![]() | |
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 76 of file wordI.H.
References word::stripInvalid().
Move construct from Foam::string.
Definition at line 87 of file wordI.H.
References word::stripInvalid().
Copy construct from std::string.
Definition at line 109 of file wordI.H.
References word::stripInvalid().
Move construct from std::string.
Definition at line 98 of file wordI.H.
References word::stripInvalid().
Copy from character array.
Definition at line 120 of file wordI.H.
References word::stripInvalid().
Copy from buffer for a maximum number of characters.
Definition at line 131 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(), ensightWriter::writeCollated(), 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 59 of file wordI.H.
References Foam::isspace().
|
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 45 of file word.C.
References s(), and interfaceEntry::valid().
|
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 77 of file word.C.
References interfaceEntry::valid().
|
inline |
Strip invalid characters from this word.
Trips an abort on invalid characters for debug 2 or greater
Definition at line 144 of file wordI.H.
Referenced by word::word().
Foam::word lessExt | ( | ) | const |
Return word without extension (part before last .)
Definition at line 113 of file word.C.
Referenced by edgeMesh::canRead(), extendedEdgeMesh::canRead(), MeshedSurface< Face >::canRead(), triSurface::canRead(), UnsortedMeshedSurface< Face >::canRead(), IOobject::member(), edgeMesh::New(), extendedEdgeMesh::New(), triSurface::New(), MeshedSurface< Face >::New(), UnsortedMeshedSurface< Face >::New(), edgeMesh::read(), extendedEdgeMesh::read(), and Foam::readDir().
Foam::word ext | ( | ) | const |
Return file name extension (part after last .)
Definition at line 126 of file word.C.
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(), edgeMesh::read(), extendedEdgeMesh::read(), coordSetWriter::suffix(), triSurface::write(), edgeMesh::write(), MeshedSurface< Face >::write(), MeshedSurfaceProxy< Face >::write(), UnsortedMeshedSurface< Face >::write(), and surfMesh::write().
Foam::word & ext | ( | const word & | ending | ) |
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 132 of file word.C.
References string::ext().
|
inline |
|
inline |
|
inline |
Copy assignment from Foam::string, stripping invalid characters.
Definition at line 188 of file wordI.H.
References s().
|
inline |
Move assignment from Foam::string, stripping invalid characters.
Definition at line 196 of file wordI.H.
References s().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 34 of file wordI.H.
References Foam::output(), and string::string_printf().
|
inline |
Definition at line 47 of file wordI.H.
References Foam::output().
|
inline |
Various checks for extensions.
Definition at line 124 of file stringI.H.
Referenced by Foam::readDir().
|
inline |
|
inline |
|
inline |
|
static |
Debugging.
Definition at line 77 of file word.H.
Referenced by keyType::setType(), keyType::uncompile(), and wordRe::uncompile().
|
static |
An empty word.
Definition at line 80 of file word.H.
Referenced by interfaceEntry::canonicalName(), fluxSummary::checkFlowType(), externalCoupled::compositeName(), pointPatchField< Type >::constraintType(), pointPatch::constraintType(), string::ext(), fvExpressionField::fieldName(), masterUncollatedFileOperation::filePathInfo(), Foam::filteredName(), Time::findInstancePath(), masterUncollatedFileOperation::findInstancePath(), fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField(), fixedMeanFvPatchField< Type >::fixedMeanFvPatchField(), fixedNormalInletOutletVelocityFvPatchVectorField::fixedNormalInletOutletVelocityFvPatchVectorField(), fixedNormalSlipFvPatchField< Type >::fixedNormalSlipFvPatchField(), fluxCorrectedVelocityFvPatchVectorField::fluxCorrectedVelocityFvPatchVectorField(), freestreamFvPatchField< Type >::freestreamFvPatchField(), freeSurfaceVelocityFvPatchVectorField::freeSurfaceVelocityFvPatchVectorField(), fvExprDriver::getFieldClassName(), IOobject::group(), inletOutletFvPatchField< Type >::inletOutletFvPatchField(), inletOutletTotalTemperatureFvPatchScalarField::inletOutletTotalTemperatureFvPatchScalarField(), combustionModel::New(), noSlipFvPatchVectorField::noSlipFvPatchVectorField(), properties::objectResultType(), orderedPhasePair::otherName(), outletInletFvPatchField< Type >::outletInletFvPatchField(), outletPhaseMeanVelocityFvPatchVectorField::outletPhaseMeanVelocityFvPatchVectorField(), partialSlipFvPatchField< Type >::partialSlipFvPatchField(), phaseHydrostaticPressureFvPatchScalarField::phaseHydrostaticPressureFvPatchScalarField(), pressureDirectedInletOutletVelocityFvPatchVectorField::pressureDirectedInletOutletVelocityFvPatchVectorField(), pressureInletOutletParSlipVelocityFvPatchVectorField::pressureInletOutletParSlipVelocityFvPatchVectorField(), pressureInletOutletVelocityFvPatchVectorField::pressureInletOutletVelocityFvPatchVectorField(), pressureNormalInletOutletVelocityFvPatchVectorField::pressureNormalInletOutletVelocityFvPatchVectorField(), pressurePermeableAlphaInletOutletVelocityFvPatchVectorField::pressurePermeableAlphaInletOutletVelocityFvPatchVectorField(), BilgerMixtureFraction::read(), regionFunctionObject::read(), moleFractions< ThermoType >::read(), fileOperation::readObjects(), masterUncollatedFileOperation::readObjects(), rotatingPressureInletOutletVelocityFvPatchVectorField::rotatingPressureInletOutletVelocityFvPatchVectorField(), supersonicFreestreamFvPatchVectorField::supersonicFreestreamFvPatchVectorField(), turbulentIntensityKineticEnergyInletFvPatchScalarField::turbulentIntensityKineticEnergyInletFvPatchScalarField(), uniformFixedGradientFvPatchField< Type >::uniformFixedGradientFvPatchField(), uniformInletOutletFvPatchField< Type >::uniformInletOutletFvPatchField(), variableHeightFlowRateFvPatchScalarField::variableHeightFlowRateFvPatchScalarField(), token::wordToken(), mappedMixedFieldFvPatchField< Type >::write(), mappedMixedFvPatchField< Type >::write(), surfaceDisplacementPointPatchVectorField::write(), surfaceSlipDisplacementPointPatchVectorField::write(), mappedPatchBase::write(), and nutWallFunctionFvPatchScalarField::writeLocalEntries().