FileName Class Reference

Specification of a valid Ensight file-name. More...

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

Public Member Functions

 FileName (const FileName &)=default
 Copy construct. More...
 
 FileName (FileName &&)=default
 Move construct. More...
 
 FileName (const char *s)
 Construct as copy of character array. More...
 
 FileName (const std::string &s)
 Copy construct from std::string. More...
 
void stripInvalid ()
 Strip invalid characters. More...
 
void operator= (const fileName &)=delete
 
void operator= (const word &)=delete
 
void operator= (const string &)=delete
 
void operator= (const std::string &)=delete
 
void operator= (const char *)=delete
 
- Public Member Functions inherited from fileName
 fileName ()=default
 Default construct. More...
 
 fileName (const fileName &)=default
 Copy construct. More...
 
 fileName (fileName &&)=default
 Move construct. More...
 
 fileName (const word &s)
 Copy construct from word. More...
 
 fileName (word &&s)
 Move construct from word. More...
 
 fileName (const string &s, bool doStrip=true)
 Copy construct from string. More...
 
 fileName (string &&s, bool doStrip=true)
 Move construct from string. More...
 
 fileName (const std::string &s, bool doStrip=true)
 Copy construct from std::string. More...
 
 fileName (std::string &&s, bool doStrip=true)
 Move construct from std::string. More...
 
 fileName (const char *s, bool doStrip=true)
 Copy construct from character array. More...
 
 fileName (const UList< word > &list)
 Construct by concatenating elements of wordList separated by '/'. More...
 
 fileName (std::initializer_list< word > list)
 Construct by concatenating words separated by '/'. More...
 
 fileName (Istream &is)
 Construct from Istream. More...
 
bool assign (const token &tok)
 Assign from word or string token. More...
 
void stripInvalid ()
 Strip invalid characters. More...
 
bool clean ()
 Cleanup filename (inplace) More...
 
Type type (bool followLink=true, bool checkGzip=false) const
 
bool isAbsolute () const
 
fileNametoAbsolute ()
 Convert from relative to absolute. More...
 
bool isBackup () const
 Return true if file name ends with "~", ".bak", ".old", ".save". More...
 
word name () const
 Return basename (part beyond last /), including its extension. More...
 
word nameLessExt () const
 Return basename, without extension. More...
 
word name (const bool noExt) const
 Deprecated(2017-03) return basename, optionally without extension. More...
 
fileName path () const
 Return directory path name (part before last /) More...
 
bool hasPath () const
 Return true if it contains a '/' character. More...
 
bool removePath ()
 Remove leading path, returning true if string changed. More...
 
fileName relative (const fileName &parent, const bool caseTag=false) const
 
fileName lessExt () const
 Return file name without extension (part before last .) More...
 
word ext () const
 Return file name extension (part after last .) More...
 
fileNameext (const word &ending)
 Append a '.' and the ending, and return the object. More...
 
wordList components (const char delim='/') const
 Return path components as wordList. More...
 
word component (const size_type cmpt, const char delim='/') const
 Return a single component of the path or empty if out of range. More...
 
fileNameoperator= (const fileName &str)
 Copy assignment, no character validation required. More...
 
fileNameoperator= (fileName &&str)
 Move assignment, no character validation required. More...
 
fileNameoperator= (const word &str)
 Copy assignment, no character validation required. More...
 
fileNameoperator= (word &&str)
 Move assignment, no character validation required. More...
 
fileNameoperator= (const string &str)
 Copy assignment, stripping invalid characters. More...
 
fileNameoperator= (string &&str)
 Move assignment, stripping invalid characters. More...
 
fileNameoperator= (const std::string &str)
 Copy assignment, stripping invalid characters. More...
 
fileNameoperator= (std::string &&str)
 Move assignment, stripping invalid characters. More...
 
fileNameoperator= (const char *str)
 Copy, stripping invalid characters. More...
 
fileNameoperator/= (const string &other)
 Append a path element with '/' separator. More...
 
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

static bool valid (char c)
 Is this character valid for an ensight file-name. More...
 
- Static Public Member Functions inherited from fileName
static bool valid (char c)
 Is this character valid for a fileName? More...
 
static fileName validate (const std::string &, const bool doClean=true)
 
static fileName concat (const std::string &s1, const std::string &s2, const char delim='/')
 Join two strings with a path separator ('/' by default). More...
 
static bool equals (const std::string &s1, const std::string &s2)
 
static bool clean (std::string &str)
 
static bool isAbsolute (const std::string &str)
 
static bool isBackup (const std::string &str)
 Return true if string ends with "~", ".bak", ".old", ".save". More...
 
static std::string name (const std::string &str)
 Return basename (part beyond last /), including its extension. More...
 
static std::string nameLessExt (const std::string &str)
 Return basename, without extension. More...
 
static std::string path (const std::string &str)
 Return directory path name (part before last /) More...
 
- 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...
 

Additional Inherited Members

- Public Types inherited from fileName
enum  Type {
  UNDEFINED = 0 , FILE = 1 , DIRECTORY = 2 , SYMLINK = 4 ,
  LINK = SYMLINK
}
 Enumerations to handle directory entry types. More...
 
- Static Public Attributes inherited from fileName
static const char *const typeName = "fileName"
 The typeName. More...
 
static int debug
 Debugging. More...
 
static int allowSpaceInFileName
 Allow space character in fileName. To be used with caution. More...
 
static const fileName null
 An empty fileName. 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...
 
- 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

Specification of a valid Ensight file-name.

Spaces must be quoted, no '*' wildcards, no '' (structured block continuation).

Overall line length within case file is limited to 1024, but this is not yet addressed.

Note
To assist windows usage, a colon (':') in the name is replaced with by an underscore.

Definition at line 60 of file ensightFileName.H.

Constructor & Destructor Documentation

◆ FileName() [1/4]

FileName ( const FileName )
default

Copy construct.

◆ FileName() [2/4]

FileName ( FileName &&  )
default

Move construct.

◆ FileName() [3/4]

FileName ( const char *  s)
inlineexplicit

Construct as copy of character array.

Definition at line 33 of file ensightFileNameI.H.

References FileName::stripInvalid().

Here is the call graph for this function:

◆ FileName() [4/4]

FileName ( const std::string &  s)
inlineexplicit

Copy construct from std::string.

Definition at line 41 of file ensightFileNameI.H.

References FileName::stripInvalid().

Here is the call graph for this function:

Member Function Documentation

◆ valid()

bool valid ( char  c)
inlinestatic

Is this character valid for an ensight file-name.

Definition at line 51 of file ensightFileNameI.H.

References interfaceEntry::valid().

Here is the call graph for this function:

◆ stripInvalid()

void stripInvalid ( )
inline

Strip invalid characters.

Definition at line 62 of file ensightFileNameI.H.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and string::replaceAny().

Referenced by FileName::FileName().

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

◆ operator=() [1/5]

void operator= ( const fileName )
delete

◆ operator=() [2/5]

void operator= ( const word )
delete

◆ operator=() [3/5]

void operator= ( const string )
delete

◆ operator=() [4/5]

void operator= ( const std::string &  )
delete

◆ operator=() [5/5]

void operator= ( const char *  )
delete

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