VapourSynth-llvmexpr
Loading...
Searching...
No Matches
VarNaming.hpp
Go to the documentation of this file.
1
19
20#ifndef LLVMEXPR_ANALYSIS_UTILS_VAR_NAMING_HPP
21#define LLVMEXPR_ANALYSIS_UTILS_VAR_NAMING_HPP
22
23#include <string>
24#include <string_view>
25
27
28inline constexpr std::string_view ARRAY_SUFFIX = "{}";
29
30inline std::string getArrayName(std::string_view base_name) {
31 return std::string(base_name) + std::string(ARRAY_SUFFIX);
32}
33
34inline bool isArrayName(std::string_view name) {
35 return name.ends_with(ARRAY_SUFFIX);
36}
37
38inline std::string getBaseName(std::string_view array_name) {
39 if (isArrayName(array_name)) {
40 return std::string(
41 array_name.substr(0, array_name.size() - ARRAY_SUFFIX.size()));
42 }
43 return std::string(array_name);
44}
45
46} // namespace analysis::var_naming
47
48#endif // LLVMEXPR_ANALYSIS_UTILS_VAR_NAMING_HPP
std::string getArrayName(std::string_view base_name)
Definition VarNaming.hpp:30
std::string getBaseName(std::string_view array_name)
Definition VarNaming.hpp:38
bool isArrayName(std::string_view name)
Definition VarNaming.hpp:34
constexpr std::string_view ARRAY_SUFFIX
Definition VarNaming.hpp:28