Rosetta Utilities  2014.35
Classes | Functions
utility::file Namespace Reference

Classes

class  FileName
 File name class supporting Windows and UN*X/Linux format names. More...
 
class  PathName
 Path name class supporting Windows and UN*X/Linux format names. More...
 

Functions

void rand_sleep ()
 
bool file_exists (std::string const &path)
 Does File Exist? More...
 
bool is_directory (std::string const &path)
 Is the given path a directory? More...
 
int file_delete (std::string const &path)
 Delete File. More...
 
std::string file_extension (std::string const &filename)
 Extension of a File Name. More...
 
std::string file_basename (std::string const &filename)
 Basename of a File Name. More...
 
long file_size (std::string const &filename)
 Platform independent way of getting file size. More...
 
bool create_blank_file (std::string const &blank_file)
 Create a blank file if it doesn't already exist. More...
 
bool create_directory (std::string const &dir_path)
 Create a directory if it doesn't already exist. More...
 
bool create_directory_recursive (std::string const &dir_path)
 Create a directory and its parent directories if they doesn't already exist. More...
 
bool trytry_ifstream_open (std::ifstream &ifstream_, std::string const &name, std::ios_base::openmode open_mode)
 Try to open file a few times just in case it is locked (from BOINC LIB) More...
 
bool trytry_ofstream_open (std::ofstream &ofstream_, std::string const &name, std::ios_base::openmode open_mode)
 Try to open file a few times just in case it is locked (from BOINC LIB) More...
 
int list_dir (std::string dir, utility::vector1< std::string > &files)
 
FileName combine_names (utility::vector1< std::string > file_name_strings)
 
std::istream & operator>> (std::istream &stream, FileName &name)
 Input from stream. More...
 
std::ostream & operator<< (std::ostream &stream, FileName const &name)
 Output to stream. More...
 
bool char_equali (char c, char d)
 Characters equal case-insensitively? More...
 
bool equali (std::string const &s, std::string const &t)
 Strings equal case-insensitively? More...
 
bool operator== (FileName const &name1, FileName const &name2)
 FileName == FileName. More...
 
bool operator!= (FileName const &name1, FileName const &name2)
 FileName != FileName. More...
 
bool operator< (FileName const &name1, FileName const &name2)
 FileName < FileName. More...
 
bool operator<= (FileName const &name1, FileName const &name2)
 FileName <= FileName. More...
 
bool operator>= (FileName const &name1, FileName const &name2)
 FileName >= FileName. More...
 
bool operator> (FileName const &name1, FileName const &name2)
 FileName > FileName. More...
 
long gzip (std::string const &uncompressedfile, bool overwrite)
 gzip: file compression More...
 
long gunzip (std::string const &compressedfile, bool overwrite)
 gunzip: file decompression More...
 
std::istream & operator>> (std::istream &stream, PathName &name)
 Input from stream. More...
 
std::ostream & operator<< (std::ostream &stream, PathName const &name)
 Output to stream. More...
 
bool operator== (PathName const &name1, PathName const &name2)
 PathName == PathName. More...
 
bool operator!= (PathName const &name1, PathName const &name2)
 PathName != PathName. More...
 
bool operator< (PathName const &name1, PathName const &name2)
 PathName < PathName. More...
 
bool operator<= (PathName const &name1, PathName const &name2)
 PathName <= PathName. More...
 
bool operator>= (PathName const &name1, PathName const &name2)
 PathName >= PathName. More...
 
bool operator> (PathName const &name1, PathName const &name2)
 PathName > PathName. More...
 

Function Documentation

bool utility::file::char_equali ( char  c,
char  d 
)
inline

Characters equal case-insensitively?

Referenced by equali().

FileName utility::file::combine_names ( utility::vector1< std::string >  file_name_strings)
bool utility::file::create_blank_file ( std::string const &  blank_file)
bool utility::file::create_directory ( std::string const &  dir_path)

Create a directory if it doesn't already exist.

Code is based on a discussion on this web site:

http://www.brainbell.com/tutorials/C++/Creating_A_Directory.htm

On non-Windows systems, the permissions are solely determined by the umask. If directory creation is successful, the function returns true.

*** Currently untested on Windows! If you find it works, remove this warning. Thanks. ***

Referenced by create_directory_recursive().

bool utility::file::create_directory_recursive ( std::string const &  dir_path)

Create a directory and its parent directories if they doesn't already exist.

Based on the above create_directory() function. If directory creation is successful or the directory already exists, the function returns true.

*** Currently untested on Windows! If you find it works, remove this warning. Thanks. ***

References create_directory(), utility::file::PathName::name(), and utility::file::PathName::parent().

bool utility::file::equali ( std::string const &  s,
std::string const &  t 
)
inline

Strings equal case-insensitively?

References char_equali().

Referenced by utility::file::PathName::equal(), and utility::file::FileName::equal().

std::string utility::file::file_basename ( std::string const &  filename)

Basename of a File Name.

Prefix of a file name.

References utility::filename().

int utility::file::file_delete ( std::string const &  path)

Delete File.

Delete file.

References file_exists(), and rand_sleep().

Referenced by gunzip(), and gzip().

bool utility::file::file_exists ( std::string const &  path)
std::string utility::file::file_extension ( std::string const &  filename)
long utility::file::file_size ( std::string const &  filename)
long utility::file::gunzip ( std::string const &  compressedfile,
bool  overwrite 
)
long utility::file::gzip ( std::string const &  uncompressedfile,
bool  overwrite 
)
bool utility::file::is_directory ( std::string const &  path)

Is the given path a directory?

Is the file a directory?

References S_ISDIR.

Referenced by trytry_ifstream_open().

int utility::file::list_dir ( std::string  dir,
utility::vector1< std::string > &  files 
)
bool utility::file::operator!= ( PathName const &  name1,
PathName const &  name2 
)
bool utility::file::operator!= ( FileName const &  name1,
FileName const &  name2 
)
bool utility::file::operator< ( PathName const &  name1,
PathName const &  name2 
)
bool utility::file::operator< ( FileName const &  name1,
FileName const &  name2 
)
std::ostream& utility::file::operator<< ( std::ostream &  stream,
FileName const &  name 
)

Output to stream.

References utility::file::FileName::name().

std::ostream& utility::file::operator<< ( std::ostream &  stream,
PathName const &  name 
)

Output to stream.

References utility::file::PathName::name().

bool utility::file::operator<= ( PathName const &  name1,
PathName const &  name2 
)
bool utility::file::operator<= ( FileName const &  name1,
FileName const &  name2 
)
bool utility::file::operator== ( PathName const &  name1,
PathName const &  name2 
)
bool utility::file::operator== ( FileName const &  name1,
FileName const &  name2 
)
bool utility::file::operator> ( PathName const &  name1,
PathName const &  name2 
)
bool utility::file::operator> ( FileName const &  name1,
FileName const &  name2 
)
bool utility::file::operator>= ( PathName const &  name1,
PathName const &  name2 
)
bool utility::file::operator>= ( FileName const &  name1,
FileName const &  name2 
)
std::istream& utility::file::operator>> ( std::istream &  stream,
FileName &  name 
)

Input from stream.

References utility::file::FileName::assign().

std::istream& utility::file::operator>> ( std::istream &  stream,
PathName &  name 
)

Input from stream.

References utility::file::PathName::assign().

void utility::file::rand_sleep ( )
bool utility::file::trytry_ifstream_open ( std::ifstream &  ifstream_,
std::string const &  name,
std::ios_base::openmode  open_mode 
)

Try to open file a few times just in case it is locked (from BOINC LIB)

Try to open file for read a few times just in case it is locked (from BOINC LIB)

References file_exists(), basic::options::OptionKeys::in::in, is_directory(), and rand_sleep().

Referenced by file_size(), gzip(), utility::io::izstream::open(), and utility::io::izstream::open_ifstream().

bool utility::file::trytry_ofstream_open ( std::ofstream &  ofstream_,
std::string const &  name,
std::ios_base::openmode  open_mode 
)

Try to open file a few times just in case it is locked (from BOINC LIB)

Try to open file for write a few times just in case it is locked (from BOINC LIB)

References file_exists(), basic::options::OptionKeys::in::in, and rand_sleep().

Referenced by create_blank_file(), gunzip(), utility::io::ozstream::open(), and utility::io::ozstream::open_append().