A class for handling file names. More...
Public Types | |
enum | Type { UNDEFINED, FILE, DIRECTORY, LINK } |
Enumerations to handle file types and modes. More... | |
Public Member Functions | |
fileName () | |
Construct null. More... | |
fileName (const fileName &) | |
Construct as copy. More... | |
fileName (const word &) | |
Construct as copy of word. More... | |
fileName (const string &) | |
Construct as copy of string. More... | |
fileName (const std::string &) | |
Construct as copy of std::string. More... | |
fileName (const char *) | |
Construct as copy 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... | |
Type | type (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 /), subsitute 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= (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 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 occurence of sub-string oldStr with newStr. More... | |
string & | replaceAll (const string &oldStr, const string &newStr, size_type start=0) |
Replace all occurences of sub-string oldStr with newStr. More... | |
string & | expand (const bool allowEmpty=false) |
Expand initial tildes and all occurences 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... | |
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 69 of file fileName.H.
enum Type |
Enumerations to handle file types and modes.
Enumerator | |
---|---|
UNDEFINED | |
FILE | |
DIRECTORY | |
LINK |
Definition at line 82 of file fileName.H.
|
inline |
Construct null.
Definition at line 52 of file fileNameI.H.
Referenced by Foam::operator/().
Construct as copy.
Definition at line 57 of file fileNameI.H.
Construct as copy of word.
Definition at line 62 of file fileNameI.H.
Construct as copy of string.
Definition at line 68 of file fileNameI.H.
|
inline |
Construct as copy of std::string.
Definition at line 76 of file fileNameI.H.
|
inline |
Construct as copy of character array.
Definition at line 84 of file fileNameI.H.
Construct by concatenating elements of wordList separated by '/'.
Definition at line 41 of file fileName.C.
References forAll, and fileName::operator=().
Construct from Istream.
Definition at line 31 of file fileNameIO.C.
|
inlinestatic |
Is this character valid for a fileName?
Definition at line 94 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 78 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 172 of file fileName.C.
References fileName::clean().
Foam::fileName::Type type | ( | 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.
Referenced by Foam::cp(), Foam::mv(), and Foam::rmDir().
bool isAbsolute | ( | ) | const |
Return true if file name is absolute.
Definition at line 58 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 64 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 180 of file fileName.C.
Referenced by fileMonitorWatcher::addWatch(), argList::argList(), cyclicPolyPatch::calcTransforms(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), timeVaryingMappedFixedValueFvPatchField< Type >::checkTable(), dynamicCode::copyOrCreateFiles(), Foam::cp(), dictionaryName::dictName(), dynamicCode::libraryBaseName(), fvMeshAdder::MapDimFields(), fvMeshAdder::MapSurfaceFields(), Foam::mv(), fileName::name(), processorPolyPatch::order(), argList::postProcess(), probes::prepare(), masterUncollatedFileOperation::processorsPath(), extendedEdgeMeshFormat::read(), edgeMeshFormat::read(), triSurface::triSurfInstance(), timeVaryingMappedFixedValuePointPatchField< Type >::updateCoeffs(), timeVaryingMappedFixedValueFvPatchField< 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 /), subsitute for FOAM_CASE.
Definition at line 195 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 214 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 250 of file fileName.C.
Referenced by fileMonitorWatcher::addWatch(), timeVaryingMappedFixedValuePointPatchField< Type >::checkTable(), timeVaryingMappedFixedValueFvPatchField< Type >::checkTable(), chemkinReader::chemkinReader(), dynamicCode::copyOrCreateFiles(), Foam::cp(), dynamicCode::createMakeFiles(), dynamicCode::createMakeOptions(), includeEntry::execute(), isoSurface::isoSurface(), Foam::mkDir(), argList::postProcess(), probes::prepare(), masterUncollatedFileOperation::processorsPath(), extendedEdgeMeshFormat::read(), edgeMeshFormat::read(), Foam::search(), streamLine::write(), dynamicCode::writeDigest(), triSurfaceMesh::writeObject(), and distributedTriSurfaceMesh::writeObject().
Foam::fileName lessExt | ( | ) | const |
Return file name without extension (part before last .)
Definition at line 269 of file fileName.C.
Referenced by edgeMesh::canRead(), UnsortedMeshedSurface< Face >::canRead(), MeshedSurface< Foam::face >::canRead(), extendedEdgeMesh::canRead(), triSurface::checkEdges(), 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(), 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 284 of file fileName.C.
References word::null.
Referenced by edgeMesh::canRead(), UnsortedMeshedSurface< Face >::canRead(), MeshedSurface< Foam::face >::canRead(), extendedEdgeMesh::canRead(), MeshedSurfaceProxy< Face >::canWriteType(), triSurface::checkEdges(), 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(), 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 299 of file fileName.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), fileName::component(), and DynamicList< T, SizeInc, SizeMult, SizeDiv >::xfer().
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 327 of file fileName.C.
References fileName::components().
Referenced by fileName::components(), and Foam::cp().
void operator= | ( | const fileName & | str | ) |
Definition at line 338 of file fileName.C.
Referenced by fileName::fileName().
void operator= | ( | const word & | str | ) |
Definition at line 344 of file fileName.C.
void operator= | ( | const string & | str | ) |
Definition at line 350 of file fileName.C.
void operator= | ( | const std::string & | str | ) |
Definition at line 357 of file fileName.C.
void operator= | ( | const char * | str | ) |
Definition at line 364 of file fileName.C.
|
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(), Foam::home(), meshWriter::noBoundary(), masterUncollatedFileOperation::objectPath(), masterUncollatedFileOperation::fileOrNullOp::operator()(), masterUncollatedFileOperation::processorsPath(), profileModel::readFromFile(), bladeModel::readFromFile(), functionObjectList::readFunctionObject(), and Foam::search().