32 const int NUMBER_OF_LINES_BEFORE_FOR_FUNCTION_NAME = 7;
33 const int C_RELEVANT_DEPTH = 0;
34 const bool IGNORE_EMPTY_FUNCTIONS =
true;
35 const bool ALLOW_STRUCTS =
false;
37 vector<string> file_content;
38 vector<vector<bool>> mask_valid;
46 bool is_define(
size_t line,
size_t pos);
53 void filter_mask_commentaries_and_defines(vector<vector<bool>>& mask);
59 vector<vector<bool>> build_mask_valid_code();
65 set<array<int, 5>> find_start_end_and_depth_of_brackets();
71 set<array<int, 4>> find_start_end_of_brackets_of_given_depth();
81 vector<string> build_function_content(
int start_number_line,
int start_column,
int end_number_line,
int end_column);
89 bool move_pointer_until_character_outside_parenteses(
int& line,
int& column);
97 tuple<string, int, vector<string>> extract_header_related_information(
int start_line,
int start_column);
107 bool is_body_function_empty(
int start_number_line,
int start_column,
int end_number_line,
int end_column);
117 void process_function(
int start_number_line,
int start_column,
int end_number_line,
int end_column,
const fs::path& relative_path);
125 fs::path file_path_from_folder_path(
const fs::path& file_path,
const fs::path& folder_path);
132 void file_breaker_c(
const fs::path& file_path,
const fs::path& folder_path);