Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXPath.h File Reference

Go to the source code of this file.

Namespaces

namespace  FX
namespace  FX::FXPath

Functions

FXString root (const FXString &file)
FXString directory (const FXString &file)
FXString name (const FXString &file)
FXString title (const FXString &file)
FXString extension (const FXString &file)
FXString stripExtension (const FXString &file)
FXString drive (const FXString &file)
FXString expand (const FXString &file)
FXString contract (const FXString &file, const FXString &user=FXString::null, const FXString &var=FXString::null)
FXString simplify (const FXString &file)
FXString absolute (const FXString &file)
FXString absolute (const FXString &base, const FXString &file)
FXString relative (const FXString &file)
FXString relative (const FXString &base, const FXString &file)
FXString convert (const FXString &path)
FXString upLevel (const FXString &file)
bool isAbsolute (const FXString &file)
bool isTopDirectory (const FXString &file)
bool isShare (const FXString &file)
FXString enquote (const FXString &file, bool forcequotes=false)
FXString dequote (const FXString &file)
bool match (const FXString &pattern, const FXString &file, FXuint flags=(FILEMATCH_NOESCAPE|FILEMATCH_FILE_NAME))
FXString unique (const FXString &file)
FXString search (const FXString &pathlist, const FXString &file)


Function Documentation

FXString FX::FXPath::root const FXString &  file  ) 
 

Return root of absolute path; on Unix, this is just "/".

On Windows, this is "\\" or "C:\". Returns the empty string if the given path is not absolute.

FXString FX::FXPath::directory const FXString &  file  ) 
 

Return the directory part of the path name.

Note that directory("/bla/bla/") is "/bla/bla" and NOT "/bla". However, directory("/bla/bla") is "/bla" as we expect!

FXString FX::FXPath::name const FXString &  file  ) 
 

Return name and extension part of the path name.

Note that name("/bla/bla/") is "" and NOT "bla". However, name("/bla/bla") is "bla" as we expect!

FXString FX::FXPath::title const FXString &  file  ) 
 

Return file title, i.e. document name only.

FXString FX::FXPath::extension const FXString &  file  ) 
 

Return extension part of the file name.

FXString FX::FXPath::stripExtension const FXString &  file  ) 
 

Return file name less the extension.

FXString FX::FXPath::drive const FXString &  file  ) 
 

Return the drive letter prefixing this file name (if any).

FXString FX::FXPath::expand const FXString &  file  ) 
 

Perform tilde or environment variable expansion.

FXString FX::FXPath::contract const FXString &  file,
const FXString &  user = FXString::null,
const FXString &  var = FXString::null
 

Contract path based on user name and environment variable.

FXString FX::FXPath::simplify const FXString &  file  ) 
 

Simplify a file path; the path will remain relative if it was relative, or absolute if it was absolute.

Also, a trailing "/" will be preserved as this is important in other functions. For example, simplify("..//aaa/./bbb//../c/") becomes "../aaa/c/".

FXString FX::FXPath::absolute const FXString &  file  ) 
 

Return absolute path from current directory and file name.

FXString FX::FXPath::absolute const FXString &  base,
const FXString &  file
 

Return absolute path from base directory and file name.

FXString FX::FXPath::relative const FXString &  file  ) 
 

Return relative path of file to the current directory.

FXString FX::FXPath::relative const FXString &  base,
const FXString &  file
 

Return relative path of file to given base directory.

FXString FX::FXPath::convert const FXString &  path  ) 
 

Return path following local path separator conventions.

FXString FX::FXPath::upLevel const FXString &  file  ) 
 

Return path to directory above input directory name.

bool FX::FXPath::isAbsolute const FXString &  file  ) 
 

Return true if file name is absolute.

bool FX::FXPath::isTopDirectory const FXString &  file  ) 
 

Return true if input directory is a top-level directory.

bool FX::FXPath::isShare const FXString &  file  ) 
 

Return true if input path is a file share.

FXString FX::FXPath::enquote const FXString &  file,
bool  forcequotes = false
 

Enquote filename to make safe for shell.

FXString FX::FXPath::dequote const FXString &  file  ) 
 

Dequote filename to get original again.

bool FX::FXPath::match const FXString &  pattern,
const FXString &  file,
FXuint  flags = (FILEMATCH_NOESCAPE|FILEMATCH_FILE_NAME)
 

Perform wildcard match of a filename against a wildcard pattern.

The wildcard pattern may comprise ordinary characters or special matching characters, as given below:

? Any single character. * Zero or more of any character. [abc] Any character from the set {a,b,c}. [^abc] Any character BUT the ones from the set {a,b,c}. [!abc] Ditto. [a-zA-Z] Matches single character, which must be one of a-z or A-Z. [^a-zA-Z] Matches single character, which must be anything other than a-z or A-Z. [!a-zA-Z] Ditto. pat1|pat2 Match sub-pattern pat1 or pat2. pat1,pat2 Ditto. (pat1|pat2) Match sub-pattern pat1 or pat2; patterns may be nested. (pat1,pat2) Ditto.

The special characters may be escaped to treat them as ordinary characters. Matching may be influenced by a number of flags:

FILEMATCH_FILE_NAME No wildcard can ever match / FILEMATCH_NOESCAPE Backslashes don't quote special chars FILEMATCH_PERIOD Leading . is matched only explicitly FILEMATCH_LEADING_DIR Ignore /... after a match FILEMATCH_CASEFOLD Compare without regard to case

FXString FX::FXPath::unique const FXString &  file  ) 
 

Generate unique filename of the form pathnameXXX.ext, where pathname.ext is the original input file, and XXX is a number, possibly empty, that makes the file unique.

FXString FX::FXPath::search const FXString &  pathlist,
const FXString &  file
 

Search path list for this file, return full path name for first occurrence.

Copyright © 1997-2005 Jeroen van der Zijp