26 #ifndef LINE_TOOLS_HPP
27 #define LINE_TOOLS_HPP
29 #include "../my_config.h"
36 using namespace libdar;
44 argc_argv(S_I size = 0);
45 argc_argv(
const argc_argv & ref) {
throw Efeature(
"argc_argv"); };
46 const argc_argv & operator = (
const argc_argv & ref) {
throw Efeature(
"argc_argv"); };
49 void resize(S_I size);
50 void set_arg(
const std::string & arg, S_I index);
53 S_I argc()
const {
return x_argc; };
54 char*
const * argv()
const {
return x_argv; };
61 extern void line_tools_slice_ownership(
const std::string & cmd, std::string & slice_permission, std::string & slice_user_ownership, std::string & slice_group_ownership);
62 extern void line_tools_repeat_param(
const std::string & cmd,
infinint & repeat_count,
infinint & repeat_byte);
63 extern void line_tools_tlv_list2argv(
user_interaction & dialog,
const tlv_list & list, argc_argv & arg);
69 std::string::const_iterator line_tools_find_first_char_out_of_parenth(
const std::string & argument,
unsigned char to_find);
70 std::string::const_iterator line_tools_find_last_char_out_of_parenth(
const std::string & argument,
unsigned char to_find);
72 std::string line_tools_expand_user_comment(
const std::string & user_comment, S_I argc,
char *
const argv[]);
are defined here basic integer types that tend to be portable
void line_tools_split_at_first_space(const char *field, std::string &before_space, std::string &after_space)
return split at the first space met the string given as first argument, and provide the two splitted ...
std::string line_tools_get_full_path_from_PATH(const std::vector< std::string > &the_path, const char *filename)
return the full path of the given filename (eventually unchanged of pointing to the first file of tha...
This is a pure virtual class that is used by libdar when interaction with the user is required...
S_I line_tools_reset_getopt()
returns the old position of parsing (next argument to parse)
std::vector< std::string > line_tools_explode_PATH(const char *the_path)
split a PATH environement variable string into its components (/usr/lib:/lib => /usr/lib /lib) ...
exception used when a requested feature is not (yet) implemented
switch module to limitint (32 ou 64 bits integers) or infinint
this is the interface class from which all other data transfer classes inherit
List of Generic Type Length Value data structures.
the arbitrary large positive integer class