word Class Reference

A class for handling words, derived from Foam::string. More...

Inheritance diagram for word:
[legend]
Collaboration diagram for word:
[legend]

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...
 
wordext (const word &ending)
 Append a '.' and the ending, and return the object. More...
 
wordoperator= (const word &s)
 Copy assignment, no character validation required. More...
 
wordoperator= (word &&s)
 Move assignment, no character validation required. More...
 
wordoperator= (const string &s)
 Copy assignment from Foam::string, stripping invalid characters. More...
 
wordoperator= (string &&s)
 Move assignment from Foam::string, stripping invalid characters. More...
 
wordoperator= (const std::string &s)
 Copy assignment from std::string, stripping invalid characters. More...
 
wordoperator= (std::string &&s)
 Move assignment from std::string, stripping invalid characters. More...
 
wordoperator= (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...
 
- 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...
 
stringreplace (const std::string &s1, const std::string &s2, size_type pos=0)
 
stringreplaceAll (const std::string &s1, const std::string &s2, size_type pos=0)
 
stringreplaceAny (const std::string &s1, const char c2, size_type pos=0)
 
stringexpand (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)
 
- Static Public Member Functions inherited from string
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 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 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...
 

Detailed Description

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.

Source files

Definition at line 65 of file word.H.

Constructor & Destructor Documentation

◆ word() [1/10]

word ( )
default

Default construct.

◆ word() [2/10]

word ( const word )
default

Copy construct.

◆ word() [3/10]

word ( word &&  w)
default

Move construct.

◆ word() [4/10]

word ( const string s,
bool  doStrip = true 
)
inline

Copy construct from Foam::string.

Definition at line 76 of file wordI.H.

References word::stripInvalid().

Here is the call graph for this function:

◆ word() [5/10]

word ( string &&  s,
bool  doStrip = true 
)
inline

Move construct from Foam::string.

Definition at line 87 of file wordI.H.

References word::stripInvalid().

Here is the call graph for this function:

◆ word() [6/10]

word ( const std::string &  s,
bool  doStrip = true 
)
inline

Copy construct from std::string.

Definition at line 109 of file wordI.H.

References word::stripInvalid().

Here is the call graph for this function:

◆ word() [7/10]

word ( std::string &&  s,
bool  doStrip = true 
)
inline

Move construct from std::string.

Definition at line 98 of file wordI.H.

References word::stripInvalid().

Here is the call graph for this function:

◆ word() [8/10]

word ( const char *  s,
bool  doStrip = true 
)
inline

Copy from character array.

Definition at line 120 of file wordI.H.

References word::stripInvalid().

Here is the call graph for this function:

◆ word() [9/10]

word ( const char *  s,
size_type  len,
bool  doStrip 
)
inline

Copy from buffer for a maximum number of characters.

Definition at line 131 of file wordI.H.

References word::stripInvalid().

Here is the call graph for this function:

◆ word() [10/10]

word ( Istream is)
explicit

Construct from Istream.

Definition at line 35 of file wordIO.C.

Member Function Documentation

◆ printf() [1/4]

static word printf ( const char *  fmt,
const PrimitiveType &  val 
)
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().

Here is the caller graph for this function:

◆ printf() [2/4]

static word printf ( const std::string &  fmt,
const PrimitiveType &  val 
)
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

◆ valid()

bool valid ( char  c)
inlinestatic

Is this character valid for a word?

Definition at line 59 of file wordI.H.

References Foam::isspace().

Here is the call graph for this function:

◆ validate() [1/2]

Foam::word validate ( const std::string &  s,
const bool  prefix = false 
)
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().

Here is the call graph for this function:

◆ validate() [2/2]

Foam::word validate ( const char *  first,
const char *  last,
const bool  prefix = false 
)
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().

Here is the call graph for this function:

◆ stripInvalid()

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

Here is the caller graph for this function:

◆ lessExt()

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

Here is the caller graph for this function:

◆ ext() [1/2]

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ext() [2/2]

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

Here is the call graph for this function:

◆ operator=() [1/7]

Foam::word & operator= ( const word s)
inline

Copy assignment, no character validation required.

Self-assignment is a no-op

Definition at line 166 of file wordI.H.

References s().

Here is the call graph for this function:

◆ operator=() [2/7]

Foam::word & operator= ( word &&  s)
inline

Move assignment, no character validation required.

Self-assignment is a no-op

Definition at line 177 of file wordI.H.

References s().

Here is the call graph for this function:

◆ operator=() [3/7]

Foam::word & operator= ( const string s)
inline

Copy assignment from Foam::string, stripping invalid characters.

Definition at line 188 of file wordI.H.

References s().

Here is the call graph for this function:

◆ operator=() [4/7]

Foam::word & operator= ( string &&  s)
inline

Move assignment from Foam::string, stripping invalid characters.

Definition at line 196 of file wordI.H.

References s().

Here is the call graph for this function:

◆ operator=() [5/7]

Foam::word & operator= ( const std::string &  s)
inline

Copy assignment from std::string, stripping invalid characters.

Definition at line 204 of file wordI.H.

References s().

Here is the call graph for this function:

◆ operator=() [6/7]

Foam::word & operator= ( std::string &&  s)
inline

Move assignment from std::string, stripping invalid characters.

Definition at line 212 of file wordI.H.

References s().

Here is the call graph for this function:

◆ operator=() [7/7]

Foam::word & operator= ( const char *  s)
inline

Copy, stripping invalid characters.

Definition at line 220 of file wordI.H.

References s().

Here is the call graph for this function:

◆ printf() [3/4]

Foam::word printf ( const char *  fmt,
const PrimitiveType &  val 
)
inline

Definition at line 34 of file wordI.H.

References Foam::output(), and string::string_printf().

Here is the call graph for this function:

◆ printf() [4/4]

Foam::word printf ( const std::string &  fmt,
const PrimitiveType &  val 
)
inline

Definition at line 47 of file wordI.H.

References Foam::output().

Here is the call graph for this function:

◆ hasExt() [1/4]

bool hasExt ( ) const
inline

Various checks for extensions.

Definition at line 124 of file stringI.H.

Referenced by Foam::readDir().

Here is the caller graph for this function:

◆ hasExt() [2/4]

bool hasExt ( const char *  ending) const
inline

Various checks for extensions.

Definition at line 127 of file stringI.H.

◆ hasExt() [3/4]

bool hasExt ( const std::string &  ending) const
inline

Various checks for extensions.

Definition at line 130 of file stringI.H.

◆ hasExt() [4/4]

bool hasExt ( const wordRe ending) const

Various checks for extensions.

Definition at line 133 of file string.C.

◆ removeExt()

bool removeExt ( )
inline

Remove extension, returning true if string changed.

Definition at line 136 of file stringI.H.

Member Data Documentation

◆ typeName

const char *const typeName = "word"
static

The typeName.

Definition at line 74 of file word.H.

◆ debug

int debug
static

Debugging.

Definition at line 77 of file word.H.

Referenced by keyType::setType(), keyType::uncompile(), and wordRe::uncompile().

◆ null

const Foam::word null
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().


The documentation for this class was generated from the following files: