AFLOW
 
Loading...
Searching...
No Matches
aurostd_xfile.cpp File Reference
#include "aurostd_xfile.h"
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <cstdlib>
#include <ctime>
#include <deque>
#include <filesystem>
#include <fstream>
#include <ios>
#include <iostream>
#include <regex>
#include <sstream>
#include <archive.h>
#include <archive_entry.h>
#include <sys/stat.h>
#include "aurostd.h"
#include "aurostd_defs.h"
#include "aurostd_time.h"
#include "aurostd_xerror.h"
#include "aurostd_xrandom.h"
#include "aurostd_xscalar.h"
#include "aflow_xhost.h"

Go to the source code of this file.

Namespaces

namespace  aurostd
 

Macros

#define _AUROSTD_XFILE_CPP_
 

Functions

bool aurostd::DirectoryMake (const string &directory_raw)
 create a directory
 
bool aurostd::SSH_DirectoryMake (const string &user, const string &machine, const string &directory_raw)
 create a directory on a remote computer
 
bool aurostd::SubDirectoryLS (const string &directory_raw, vector< string > &vsubd)
 returns all the subdirectories of a directory, including itself
 
bool aurostd::DirectoryLS (const string &directory_raw, vector< string > &vfiles)
 returns the content of a directory
 
bool aurostd::DirectoryLS (const string &directory_raw, deque< string > &vfiles)
 
string aurostd::dirname (const string &file)
 returns the dirname of file
 
string aurostd::basename (const string &file)
 returns the basename of file
 
string aurostd::GetFileExtension (const string &FileName)
 returns the file extension
 
string aurostd::CleanFileName (const string &fileIN)
 cleans file names from obvious things
 
string aurostd::CleanFileName (const fs::path &fileIN)
 overload of CleanFileName to support fs::path
 
bool aurostd::DirectoryLocked (const string &directory, const string &LOCK)
 check the existence of a LOCK file
 
bool aurostd::DirectoryLocked (const string &directory)
 
bool aurostd::DirectorySkipped (const string &directory)
 check the existence of a SKIP file
 
bool aurostd::DirectoryWritable (const string &directory_raw)
 create a temporary file to check if a directory is writable
 
bool aurostd::IsDirectory (const string &path)
 check if path is a directory
 
bool aurostd::IsCompressed (const string &FileNameIn)
 check if a file is compressed
 
bool aurostd::IsCompressed (const string &FileNameIn, string &FileNameOut)
 check if a file is compressed
 
bool aurostd::FileExist (const string &FileName)
 check if file exists
 
bool aurostd::FileExist (const string &FileName, string &FileNameOut)
 check if file exists
 
bool aurostd::CompressFileExist (const string &FileName)
 check if a file or its compressed variant exits
 
bool aurostd::CompressFileExist (const string &FileNameRaw, string &FileNameOut)
 check if file or its compressed variant exits
 
bool aurostd::CompressFileWithinList (const vector< string > &list, const string &input)
 Determines whether a compressed file is within the list.
 
bool aurostd::CompressFileWithinList (const vector< string > &list, const string &input, string &output)
 Determines whether a compressed file is within the list.
 
bool aurostd::FileEmpty (const string &FileNameRaw)
 check if file is empty
 
bool aurostd::FileNotEmpty (const string &FileName)
 check if file is not empty
 
long int aurostd::GetTimestampModified (const string &FileNameRaw)
 gets modification time
 
long int aurostd::SecondsSinceFileModified (const string &FileNameRaw)
 gets duration since file modification
 
unsigned long long int aurostd::FileSize (const string &FileName)
 returns in bytes the size of a file
 
void aurostd::InFileExistCheck (const string &routine, const string &FileNameRaw, const ifstream &file_to_check)
 checks if a filestream is empty
 
string aurostd::TmpStrCreate (const string &identifier_raw, const string &tmpdir_raw, const bool hidden, const bool directory)
 create a string pointing to the location of a unique temp file or directory
 
string aurostd::TmpFileCreate (const string &identifier, const string &tmpdir, const bool hidden)
 create a string pointing to the location of a unique temp file
 
string aurostd::TmpDirectoryCreate (const string &identifier, const string &tmpdir, const bool hidden)
 create a string pointing to the location of a unique temp directory
 
bool aurostd::CopyFile (const string &file_from, const string &file_to)
 copy a file
 
bool aurostd::LinkFile (const string &file_from, const string &file_to, const bool soft)
 link a file
 
bool aurostd::file2directory (const string &file, const string &destination)
 move file to directory
 
bool aurostd::file2directory (const vector< string > &files, const string &destination)
 move a list of files to directory
 
bool aurostd::file2file (const string &file, const string &destination)
 move file to another file
 
bool aurostd::RemoveFile (const string &file)
 remove a file
 
bool aurostd::RemoveFile (const string &directory, const std::regex &regex_pattern)
 remove files that match a regex pattern
 
bool aurostd::RemoveFiles (const string &directory)
 removes all regular files inside a directory, not recursive
 
bool aurostd::RemoveFile (const vector< string > &files)
 remove a list of files to directory
 
bool aurostd::RemoveDirectory (const string &directory)
 remove a file
 
compression_type aurostd::GetCompressionType (const fs::path &path)
 
size_t aurostd::file2string (const string &FileNameIN, string &StringIN)
 read the content of a file into a string
 
string aurostd::file2string (const string &FileNameIN)
 return content file content as string
 
size_t aurostd::compressfile2string (const string &FileNameIN, string &content)
 compressed file to string
 
string aurostd::compressfile2string (const string &FileNameIN)
 return content of a compressed file as string
 
size_t aurostd::file2vectorstring (const string &FileNameIN, vector< string > &vline, bool consecutive, bool trim_edges)
 write the content of a file into a vector of strings
 
size_t aurostd::file2vectorstring (const string &FileNameIN, deque< string > &vline)
 write the content of a file into a deque of strings
 
size_t aurostd::compressfile2vectorstring (const string &FileNameIN, vector< string > &vline, bool consecutive, bool trim_edges)
 write the content of a compressed file into a vector of strings
 
size_t aurostd::compressfile2vectorstring (const string &FileNameIN, deque< string > &vline)
 write the content of a compressed file into a deque of strings
 
void aurostd::file2stringstream (const string &FileNameIN, stringstream &StringstreamIN)
 write the content of a file into a stringstream 20241216 | Hagen Eckert - add transparent compression support

 
void aurostd::compressfile2stringstream (const string &file_raw, stringstream &content)
 write the content of a compressed file into a stringstream
 
bool aurostd::string2file (const string &StringOUTPUT, const std::string &FileNameRawOUTPUT, const compression_type ct, const string &mode)
 write string into a file
 
bool aurostd::string2compressfile (const string &content, const string &file_raw, const compression_type ct)
 string to compressed file
 
bool aurostd::stringstream2file (const stringstream &StringstreamOUTPUT, const string &FileNameOUTPUT, const compression_type ct, const string &mode)
 write stringstream into a file
 
bool aurostd::stringstream2compressfile (const stringstream &content, const string &file, const compression_type ct)
 stringstream to compressed file
 
template<template< class... > class vtype>
bool aurostd::vectorstring2file (const vtype< string > &vline, const string &FileNameOUT, const compression_type ct)
 write a list of strings to file
 
template bool aurostd::vectorstring2file (const vector< string > &vline, const string &FileNameOUT, compression_type ct)
 
template bool aurostd::vectorstring2file (const deque< string > &vline, const string &FileNameOUT, compression_type ct)
 
void aurostd::CompressionErrorHandling (archive *a, const int r, const std::string &message)
 check compression calls
 
void aurostd::CompressInit (archive *a, const compression_type ct, const bool single)
 initialize compression
 
void aurostd::DecompressFile (const string &file_raw, const string &outfile_raw, const bool keep)
 decompress file
 
void aurostd::DecompressFile (const string &file_raw, const bool keep)
 
void aurostd::DecompressFiles (const string &archive_file, const string &directory, const bool keep)
 decompress files
 
void aurostd::DecompressFiles (const string &archive, const bool keep)
 
void aurostd::CompressFile (const string &file_raw, const compression_type ct, const bool keep)
 compress file
 
fs::path aurostd::CompressFiles (const vector< string > &files_raw, const fs::path &relative_to_path, const string &archive_name, const compression_type ct, const bool keep)
 compress files
 
bool aurostd::MatchCompressed (const string &CompressedFileName, const string &FileNameOUT)
 compress a file based on the compression of another filed
 
bool aurostd::compressfile2tempfile (const string &FileNameIN, string &FileNameOUT)
 decompress a file to a temp file
 
bool aurostd::compressfile2tempfile (const string &FileNameRawIN, string &FileNameOUT, bool &tempfile_created)
 decompress a file to a specific temp file
 
void aurostd::compressfile2compressfile (const string &file, const compression_type ct, const bool keep)
 convert a compressed file to another compression
 
void aurostd::compressfiles2compressfiles (const string &directory, const compression_type ct, const bool keep)
 convert compressed files in a directory to another compression
 

Macro Definition Documentation

◆ _AUROSTD_XFILE_CPP_

#define _AUROSTD_XFILE_CPP_

Definition at line 10 of file aurostd_xfile.cpp.