Rosetta  2020.46
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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...
 
std::string create_temp_filename (std::string const &dir, std::string const &prefix)
 Find an unused random tempfile name with a given prefix (which may include a directory) 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)
 generate sorted file listing for given directory, return non-zero value on error More...
 
FileName combine_names (utility::vector1< std::string > file_name_strings)
 
std::string cwd ()
 current working directory More...
 
std::string get_home_dir ()
 Get the (absolute) path to the users home directory. More...
 
bool change_working_directory (std::string const &dir_path)
 Changes the current working directory. More...
 
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::change_working_directory ( std::string const &  dir_path)

Changes the current working directory.

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)

References begin.

bool utility::file::create_blank_file ( std::string const &  blank_file)

Create a blank file if it doesn't already exist.

References utility::io::oc::cerr, utility::io::oc::cout, erraser_single_res_analysis::out, trytry_ofstream_open(), and utility_exit.

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(), and RunPepSpec().

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(), utility::file::PathName::parent(), and loops_kic::success.

Referenced by basic::database::find_cache_file(), harvest_motifs_one(), harvest_scores(), and write_base_pair_step_to_silent_struct().

std::string utility::file::create_temp_filename ( std::string const &  dir,
std::string const &  prefix 
)

Find an unused random tempfile name with a given prefix (which may include a directory)

References basic::options::OptionKeys::in::file::file, free(), and platform::file::PATH_SEPARATOR().

Referenced by basic::database::find_cache_file().

std::string utility::file::cwd ( )

current working directory

References utility_exit_with_message.

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

Strings equal case-insensitively?

References char_equali(), and ObjexxFCL::equal().

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().

Referenced by main().

int utility::file::file_delete ( std::string const &  path)
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)
std::string utility::file::get_home_dir ( )

Get the (absolute) path to the users home directory.

If homedir could not be found, it will return an empty string. Rocco Moretti

Referenced by basic::database::full_cache_name().

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 
)

generate sorted file listing for given directory, return non-zero value on error

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().

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 utility::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 utility::rand_sleep().

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