ArKanjo 0.5.1
A tool for find code duplicated functions in codebases
function_storage.hpp
Go to the documentation of this file.
1
9#pragma once
10
11#include <filesystem>
12
13#include <arkanjo/base/path.hpp>
14
15namespace fs = std::filesystem;
16
18 public:
23 fs::path build_source_path(const Path& path) const;
24
29 fs::path build_header_path(const Path& path) const;
30
35 fs::path build_info_path(const Path& path) const;
36
41 fs::path build_similarity_path() const;
42
47 fs::path build_output_path(
48 const fs::path type_path, const fs::path& relative_path, const std::string& function_name
49 ) const;
50
51 private:
52 static constexpr const char* JSON_EXTENSION = ".json";
53};
fs::path build_header_path(const Path &path) const
Builds header file path.
fs::path build_source_path(const Path &path) const
Builds source file path.
fs::path build_output_path(const fs::path type_path, const fs::path &relative_path, const std::string &function_name) const
Builds file path for a function.
fs::path build_similarity_path() const
Builds similarity file path.
fs::path build_info_path(const Path &path) const
Builds metadata file path.
Represents a logical path to a function in the codebase.
Definition: path.hpp:26
Logical path abstraction for source code elements.