Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
counter_duplication_code_trie.hpp
Go to the documentation of this file.
1
12
13#ifndef COUNTER_DUPLICATION_CODE_TRIE_HPP
14#define COUNTER_DUPLICATION_CODE_TRIE_HPP
15
16#include <bits/stdc++.h>
17#include "../base/utils.hpp"
18using namespace std;
19
31 private:
32 int ZERO_INITIAL_COUNTER = 0;
33 int ROOT_NODE = 0;
34 int BASE_DEPTH = 0;
35 string EMPTY_FOLDER = "";
36 string BASIC_SHIFT_PER_DEPTH = "----";
37 string END_ARROW = "--> ";
38 string TWO_POINTER_AFTER_FOLDER = "/: ";
39 string LINE_TEXT = " duplicated lines detected.";
40
41 vector<map<string,int>> trie;
42 vector<int> counter_duplication_lines;
43 int number_printed_lines = 0;
44
49 Utils::COLOR choose_text_color();
50
55 int create_node_at_the_end();
56
62 void create_edge_if_not_exist(int node, string folder);
63
69 string create_context_string_on_depth(int depth);
70
77 void print_node_information(int node, int depth, string folder);
78
85 void dfs_print_duplication_code_trie(int current_node, int depth, string folder);
86
87 public:
93 void add_folder_duplication_code(vector<string> folder_path, int number_of_duplication_lines);
94
99
104};
105
106#endif
Counter_Duplication_Code_Trie()
Constructs a new trie with root node.
void print_duplication_code_trie()
Prints the trie structure with duplication counts.
void add_folder_duplication_code(vector< string > folder_path, int number_of_duplication_lines)
Adds duplication count for a folder path.
COLOR
Enumeration of available colors for formatted messages.
Definition utils.hpp:94
Defines utility functions used across all files.