Logo Search packages:      
Sourcecode: dar version File versions

tools.hpp File Reference

Detailed Description

a set of general purpose routines

Definition in file tools.hpp.

#include "../my_config.h"
#include <string>
#include <vector>
#include "path.hpp"
#include "infinint.hpp"
#include "generic_file.hpp"
#include "tuyau.hpp"
#include "integers.hpp"

Go to the source code of this file.


namespace  libdar


#define TOOLS_BIN_SUFFIX   1024
#define TOOLS_SI_SUFFIX   1000


bool libdar::is_equal_with_hourshift (const infinint &hourshift, const infinint &date1, const infinint &date2)
 test if two dates are equal taking care of a integer hour of difference
std::vector< std::string > libdar::operator+ (std::vector< std::string > a, std::vector< std::string > b)
 concatenate two vectors
template<class T>
std::vector< T > libdar::operator+= (std::vector< T > &a, const std::vector< T > &b)
 template function to add two vectors
void libdar::tools_add_elastic_buffer (generic_file &f, U_32 max_size)
 append an elastic buffer of given size to the file
std::string libdar::tools_addspacebefore (std::string s, unsigned int expected_size)
 prepend spaces before the given string
bool libdar::tools_are_on_same_filesystem (const std::string &file1, const std::string &file2)
 tells whether two files are on the same mounted filesystem
void libdar::tools_avoid_slice_overwriting (user_interaction &dialog, const std::string &chemin, const std::string &x_file_mask, bool info_details, bool allow_overwriting, bool warn_overwriting)
 prevents slice overwriting: check the presence of slice and if necessary ask the user if they can be removed
void libdar::tools_blocking_read (int fd, bool mode)
 set blocking/not blocking mode for reading on a file descriptor
void libdar::tools_check_basename (user_interaction &dialog, const path &loc, std::string &base, const std::string &extension)
 does sanity checks on a slice name, check presence and detect whether the given basename is not rather a filename
std::string libdar::tools_concat_vector (const std::string &separator, const std::vector< std::string > &x)
 concatenate a vectors of strings in a single string
string libdar::tools_display_date (infinint date)
 convert a date in second to its human readable representation
void libdar::tools_display_features (user_interaction &dialog, bool ea, bool largefile, bool nodump, bool special_alloc, U_I bits, bool thread_safe, bool libz, bool libbz2, bool libcrypto)
 display the compilation time features of libdar
bool libdar::tools_do_some_files_match_mask (const char *c_chemin, const char *file_mask)
 test the presence of files corresponding to a given mask in a directory
char * libdar::tools_extract_basename (const char *command_name)
 extracts the basename of a file (removing path part)
infinint libdar::tools_get_extended_size (std::string s, U_I base)
 convert the given string to infinint taking care of multiplication suffixes like k, M, T, etc.
infinint libdar::tools_get_filesize (const path &p)
 retrieve the size in byte of a file
const char * libdar::tools_get_from_env (const char **env, char *clef)
 isolate the value of a given variable from the environment vector
string libdar::tools_getcwd ()
 get current working directory
string libdar::tools_int2str (S_I x)
 convert integer to string
bool libdar::tools_is_case_insensitive_equal (const std::string &a, const std::string &b)
 compare two string in case insensitive manner
bool libdar::tools_is_member (const std::string &val, const std::vector< std::string > &liste)
 test the presence of a value in a list
bool libdar::tools_look_for (const char *argument, S_I argc, char *argv[])
 test the presence of an argument
void libdar::tools_make_date (const std::string &chemin, infinint access, infinint modif)
 set dates of a given file, may throw exception
bool libdar::tools_my_atoi (char *a, U_I &val)
 ascii to integer conversion
string libdar::tools_name_of_gid (U_16 gid)
 convert fid to name in regards to the current system's configuration
string libdar::tools_name_of_uid (U_16 uid)
 convert uid to name in regards to the current system's configuration
void libdar::tools_noexcept_make_date (const std::string &chem, const infinint &last_acc, const infinint &last_mod)
 set dates of a given file, no exception thrown
void libdar::tools_open_pipes (user_interaction &dialog, const std::string &input, const std::string &output, tuyau *&in, tuyau *&out)
 open a pair of tuyau objects encapsulating two named pipes.
string libdar::tools_printf (char *format,...)
 make printf-like formating to a std::string
void libdar::tools_read_range (const std::string &s, U_I &min, U_I &max)
 from a string with a range notation (min-max) extract the range values
void libdar::tools_read_string (generic_file &f, std::string &s)
 read a string from a file expecting it to terminate by '\0'
void libdar::tools_read_string_size (generic_file &f, std::string &s, infinint taille)
 read a string if given size from a file '\0' has no special meaning
void libdar::tools_read_vector (generic_file &f, std::vector< std::string > &x)
 read a list of string from a file
string libdar::tools_readlink (const char *root)
 returns the file pointed to by a symbolic link (or transparent if the file is not a symlink).
void libdar::tools_remove_last_char_if_equal_to (char c, std::string &s)
 remove last character of a string is it equal to a given value
void libdar::tools_split_path_basename (const std::string &all, std::string &chemin, std::string &base)
 split a given full path in path part and basename part
void libdar::tools_split_path_basename (const char *all, path *&chemin, std::string &base)
 split a given full path in path part and basename part
char * libdar::tools_str2charptr (std::string x)
 convert a string to a char *
U_32 libdar::tools_str2int (const std::string &x)
 convert an integer written in decimal notation to the corresponding value
void libdar::tools_system (user_interaction &dialog, const std::vector< std::string > &argvector)
 wrapper to the "system" system call.
void libdar::tools_to_upper (char *nts)
 convert a string to upper case
void libdar::tools_unlink_file_mask (user_interaction &dialog, const char *c_chemin, const char *file_mask, bool info_details)
 remove files from a given directory
string libdar::tools_vprintf (char *format, va_list ap)
 make printf-like formating to a std::string
void libdar::tools_write_string (generic_file &f, const std::string &s)
 write a string to a file with a '\0' at then end
void libdar::tools_write_string_all (generic_file &f, const std::string &s)
 write a string to a file, '\0' has no special meaning nor is added at the end
void libdar::tools_write_vector (generic_file &f, const std::vector< std::string > &x)
 write a list of string to file

Generated by  Doxygen 1.6.0   Back to index