A class for handling file names. More...
Public Member Functions | |
fileName () | |
Construct null. More... | |
fileName (const fileName &) | |
Copy constructor. More... | |
fileName (fileName &&) | |
Move constructor. More... | |
fileName (const word &) | |
Copy constructor of word. More... | |
fileName (const string &) | |
Copy constructor of string. More... | |
fileName (const std::string &) | |
Copy constructor of std::string. More... | |
fileName (const char *) | |
Copy constructor of character array. More... | |
fileName (const wordList &) | |
Construct by concatenating elements of wordList separated by '/'. More... | |
fileName (Istream &) | |
Construct from Istream. More... | |
bool | clean () |
Cleanup file name. More... | |
fileName | clean () const |
Cleanup file name. More... | |
fileType | type (const bool checkVariants=true, const bool followLink=true) const |
Return the file type: file, directory, undefined or. More... | |
bool | isAbsolute () const |
Return true if file name is absolute. More... | |
fileName & | toAbsolute () |
Convert from relative to absolute. More... | |
word | name () const |
Return file name (part beyond last /) More... | |
string | caseName () const |
Return file name (part beyond last /), substitute for FOAM_CASE. More... | |
word | name (const bool noExt) const |
Return file name, optionally without extension. More... | |
fileName | path () const |
Return directory path name (part before last /) More... | |
fileName | lessExt () const |
Return file name without extension (part before last .) More... | |
word | ext () const |
Return file name extension (part after last .) More... | |
wordList | components (const char delimiter='/') const |
Return path components as wordList. More... | |
word | component (const size_type, const char delimiter='/') const |
Return a single component of the path. More... | |
void | operator= (const fileName &) |
void | operator= (fileName &&) |
void | operator= (const word &) |
void | operator= (const string &) |
void | operator= (const std::string &) |
void | operator= (const char *) |
Public Member Functions inherited from string | |
string () | |
Construct null. More... | |
string (const std::string &) | |
Construct from std::string. More... | |
string (const string &) | |
Copy constructor. More... | |
string (string &&) | |
Move constructor. More... | |
string (const char *) | |
Construct as copy of character array. More... | |
string (const char *, const size_type) | |
Construct as copy of specified number of characters. More... | |
string (const char) | |
Construct from a single character. More... | |
string (const size_type, const char) | |
Construct from copies of a single character. More... | |
string (Istream &) | |
Construct from Istream. More... | |
size_type | count (const char) const |
Count and return the number of a given character in the string. More... | |
bool | match (const std::string &) const |
True when strings match literally. More... | |
string & | replace (const string &oldStr, const string &newStr, size_type start=0) |
Replace first occurrence of sub-string oldStr with newStr. More... | |
string & | replaceAll (const string &oldStr, const string &newStr, size_type start=0) |
Replace all occurrences of sub-string oldStr with newStr. More... | |
string & | expand (const bool allowEmpty=false) |
Expand initial tildes and all occurrences of environment variables. More... | |
bool | removeRepeated (const char) |
Remove repeated characters returning true if string changed. More... | |
string | removeRepeated (const char) const |
Return string with repeated characters removed. More... | |
bool | removeTrailing (const char) |
Remove trailing character returning true if string changed. More... | |
string | removeTrailing (const char) const |
Return string with trailing character removed. More... | |
string | operator() (const size_type i, const size_type n) const |
Return the sub-string from the i-th character for n characters. More... | |
string | operator() (const size_type n) const |
Return the sub-string from the first character for n characters. More... | |
void | operator= (const string &) |
void | operator= (string &&) |
template<class String > | |
Foam::string | quotemeta (const string &str, const char quote) |
Static Public Member Functions | |
static bool | valid (char) |
Is this character valid for a fileName? More... | |
Static Public Member Functions inherited from string | |
template<class String > | |
static bool | valid (const string &) |
Is this string type valid? More... | |
template<class String > | |
static bool | meta (const string &, const char quote='\\') |
Does this string have particular meta-characters? More... | |
template<class String > | |
static bool | stripInvalid (string &) |
Strip invalid characters from the given string. More... | |
template<class String > | |
static String | validate (const string &) |
Return a valid String from the given string. More... | |
template<class String > | |
static string | quotemeta (const string &, const char quote='\\') |
Return a String with quoted meta-characters from the given string. More... | |
Static Public Attributes | |
static const char *const | typeName = "fileName" |
static int | debug |
static const fileName | null |
An empty fileName. More... | |
Static Public Attributes inherited from string | |
static const char *const | typeName = "string" |
static int | debug |
static const string | null |
An empty string. More... | |
Friends | |
Istream & | operator>> (Istream &, fileName &) |
Ostream & | operator<< (Ostream &, const fileName &) |
A class for handling file names.
A fileName is a string of characters without whitespace or quotes. A fileName can be
The string::expand() method expands environment variables, etc,
Definition at line 79 of file fileName.H.
|
inline |
Construct null.
Definition at line 52 of file fileNameI.H.
Referenced by Foam::operator/().
Copy constructor.
Definition at line 58 of file fileNameI.H.
Move constructor.
Definition at line 64 of file fileNameI.H.
Copy constructor of word.
Definition at line 70 of file fileNameI.H.
Copy constructor of string.
Definition at line 76 of file fileNameI.H.
|
inline |
Copy constructor of std::string.
Definition at line 84 of file fileNameI.H.
|
inline |
Copy constructor of character array.
Definition at line 92 of file fileNameI.H.
Construct by concatenating elements of wordList separated by '/'.
Definition at line 40 of file fileName.C.
References forAll, fileName::operator=(), and fileName::type().
Construct from Istream.
Definition at line 31 of file fileNameIO.C.
|
inlinestatic |
Is this character valid for a fileName?
Definition at line 102 of file fileNameI.H.
References Foam::isspace().
bool clean | ( | ) |
Cleanup file name.
Removes repeated slashes /abc////def –> /abc/def
Removes '/./' /abc/def/./ghi/. –> /abc/def/./ghi abc/def/./ –> abc/def
Removes '/../' /abc/def/../ghi/jkl/nmo/.. –> /abc/ghi/jkl abc/../def/ghi/../jkl –> abc/../def/jkl
Removes trailing '/'
Definition at line 81 of file fileName.C.
References Foam::constant::universal::c, Foam::constant::physicoChemical::c1, and resize().
Referenced by writeFile::baseFileDir(), fileName::clean(), CloudFunctionObject< CloudType >::CloudFunctionObject(), argList::postProcess(), probes::prepare(), and fileName::toAbsolute().
Foam::fileName clean | ( | ) | const |
Cleanup file name.
eg, remove repeated slashes, etc.
Definition at line 175 of file fileName.C.
References fileName::clean().
Foam::fileType type | ( | const bool | checkVariants = true , |
const bool | followLink = true |
||
) | const |
Return the file type: file, directory, undefined or.
link (only if followLink=false)
Definition at line 52 of file fileName.C.
References Foam::type().
Referenced by Foam::cp(), fileName::fileName(), Foam::mv(), and Foam::rmDir().
bool isAbsolute | ( | ) | const |
Return true if file name is absolute.
Definition at line 61 of file fileName.C.
Referenced by chemkinReader::chemkinReader(), IOobject::fileNameComponents(), masterUncollatedFileOperation::filePathInfo(), includeEntry::includeFileName(), Foam::ln(), argList::postProcess(), fileName::toAbsolute(), collatedFileOperation::writeObject(), and triSurfaceMesh::writeObject().
Foam::fileName & toAbsolute | ( | ) |
Convert from relative to absolute.
Definition at line 67 of file fileName.C.
References fileName::clean(), Foam::cwd(), f(), and fileName::isAbsolute().
Referenced by decompositionModel::selectIO().
Foam::word name | ( | ) | const |
Return file name (part beyond last /)
Behaviour compared to /usr/bin/basename: Input name() basename ----- ------ -------- "foo" "foo" "foo" "/foo" "foo" "foo" "foo/bar" "bar" "bar" "/foo/bar" "bar" "bar" "/foo/bar/" "" "bar"
Definition at line 183 of file fileName.C.
Referenced by fileMonitorWatcher::addWatch(), collatedFileOperation::appendObject(), argList::argList(), cyclicPolyPatch::calcTransforms(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), dynamicCode::copyOrCreateFiles(), Foam::cp(), dictionaryName::dictName(), dynamicCode::libraryBaseName(), timeVaryingMappedFvPatchField< Type >::map(), fvMeshAdder::MapDimFields(), fvMeshAdder::MapPointFields(), fvMeshAdder::MapSurfaceFields(), Foam::mv(), fileName::name(), processorPolyPatch::order(), argList::postProcess(), probes::prepare(), fileOperation::processorsPath(), extendedEdgeMeshFormat::read(), edgeMeshFormat::read(), triSurface::triSurfInstance(), timeVaryingMappedFixedValuePointPatchField< Type >::updateCoeffs(), ensightSetWriter< Type >::write(), OBJsurfaceFormat< Face >::write(), OBJedgeFormat::write(), ensightSurfaceWriter::write(), streamLine::write(), STARCDsurfaceFormatCore::writeCase(), and STARCDedgeFormat::writeCase().
Foam::string caseName | ( | ) | const |
Return file name (part beyond last /), substitute for FOAM_CASE.
Definition at line 198 of file fileName.C.
References Foam::getEnv(), string::replace(), and string::string().
Referenced by IOobject::caseName().
Foam::word name | ( | const bool | noExt | ) | const |
Return file name, optionally without extension.
Definition at line 217 of file fileName.C.
References Foam::dot(), and fileName::name().
Foam::fileName path | ( | ) | const |
Return directory path name (part before last /)
Behaviour compared to /usr/bin/dirname: input path() dirname ----- ------ ------- "foo" "." "." "/foo" "/" "foo" "foo/bar" "foo" "foo" "/foo/bar" "/foo" "/foo" "/foo/bar/" "/foo/bar/" "/foo"
Definition at line 253 of file fileName.C.
Referenced by fileMonitorWatcher::addWatch(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), chemkinReader::chemkinReader(), dynamicCode::copyOrCreateFiles(), Foam::cp(), dynamicCode::createMakeFiles(), dynamicCode::createMakeOptions(), includeEntry::execute(), Foam::mkDir(), argList::postProcess(), probes::prepare(), fileOperation::processorsPath(), extendedEdgeMeshFormat::read(), edgeMeshFormat::read(), streamLine::write(), dynamicCode::writeDigest(), triSurfaceMesh::writeObject(), and distributedTriSurfaceMesh::writeObject().
Foam::fileName lessExt | ( | ) | const |
Return file name without extension (part before last .)
Definition at line 272 of file fileName.C.
Referenced by edgeMesh::canRead(), UnsortedMeshedSurface< Face >::canRead(), MeshedSurface< Foam::face >::canRead(), extendedEdgeMesh::canRead(), edgeMesh::New(), UnsortedMeshedSurface< Face >::New(), MeshedSurface< Foam::face >::New(), extendedEdgeMesh::New(), STARCDsurfaceFormat< Face >::read(), STARCDedgeFormat::read(), edgeMesh::read(), UnsortedMeshedSurface< Face >::read(), MeshedSurface< Foam::face >::read(), extendedEdgeMesh::read(), Foam::readDir(), triSurface::triSurfInstance(), ensightSetWriter< Type >::write(), OBJsurfaceFormat< Face >::write(), OBJedgeFormat::write(), STARCDsurfaceFormat< Face >::write(), STARCDedgeFormat::write(), STARCDsurfaceFormatCore::writeCase(), and STARCDedgeFormat::writeCase().
Foam::word ext | ( | ) | const |
Return file name extension (part after last .)
Definition at line 287 of file fileName.C.
References word::null.
Referenced by edgeMesh::canRead(), UnsortedMeshedSurface< Face >::canRead(), MeshedSurface< Foam::face >::canRead(), extendedEdgeMesh::canRead(), MeshedSurfaceProxy< Face >::canWriteType(), edgeMesh::New(), UnsortedMeshedSurface< Face >::New(), MeshedSurface< Foam::face >::New(), extendedEdgeMesh::New(), Foam::printSourceFileAndLine(), edgeMesh::read(), UnsortedMeshedSurface< Face >::read(), MeshedSurface< Foam::face >::read(), extendedEdgeMesh::read(), Foam::readDir(), triSurface::triSurface(), triSurface::triSurfInstance(), STLsurfaceFormat< Face >::write(), edgeMesh::write(), UnsortedMeshedSurface< Face >::write(), MeshedSurface< Foam::face >::write(), and triSurface::write().
Foam::wordList components | ( | const char | delimiter = '/' | ) | const |
Return path components as wordList.
Behaviour: Input components() ----- ------ "foo" 1("foo") "/foo" 1("foo") "foo/bar" 2("foo", "bar") "/foo/bar" 2("foo", "bar") "/foo/bar/" 2("foo", "bar")
Definition at line 302 of file fileName.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), and fileName::component().
Referenced by fileName::component(), and Foam::cp().
Foam::word component | ( | const size_type | cmpt, |
const char | delimiter = '/' |
||
) | const |
Return a single component of the path.
Definition at line 330 of file fileName.C.
References fileName::components().
Referenced by fileName::components(), and Foam::cp().
void operator= | ( | const fileName & | str | ) |
Definition at line 341 of file fileName.C.
References string::operator=().
Referenced by fileName::fileName().
void operator= | ( | fileName && | str | ) |
Definition at line 347 of file fileName.C.
References string::operator=().
void operator= | ( | const word & | str | ) |
Definition at line 353 of file fileName.C.
References string::operator=().
void operator= | ( | const string & | str | ) |
Definition at line 359 of file fileName.C.
References string::operator=().
void operator= | ( | const std::string & | str | ) |
Definition at line 366 of file fileName.C.
References string::operator=().
void operator= | ( | const char * | str | ) |
Definition at line 373 of file fileName.C.
References string::operator=().
|
static |
Definition at line 93 of file fileName.H.
|
static |
Definition at line 94 of file fileName.H.
|
static |
An empty fileName.
Definition at line 97 of file fileName.H.
Referenced by chemkinReader::chemkinReader(), dlLibraryTable::close(), Foam::cwd(), Time::dbDir(), argList::displayDoc(), fileOperation::filePath(), masterUncollatedFileOperation::filePathInfo(), functionObjectList::findDict(), functionObjectList::findRegionDict(), Foam::home(), masterUncollatedFileOperation::localObjectPath(), meshWriter::noBoundary(), masterUncollatedFileOperation::fileOrNullOp::operator()(), fileOperation::processorsPath(), profileModel::readFromFile(), bladeModel::readFromFile(), functionObjectList::readFunctionObject(), and Foam::search().