OSDN Git Service

Merge pull request #3532 from sikabane-works/release/3.0.0.87-alpha
[hengbandforosx/hengbandosx.git] / src / util / string-processor.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include <string>
5 #include <string_view>
6 #include <vector>
7
8 #define MAX_MACRO_MOD 12
9 #define MAX_MACRO_TRIG 200 /*!< 登録を許すマクロ(トリガー)の最大数 */
10
11 extern const char hexsym[16];
12
13 /*
14  * Automatically generated "variable" declarations
15  */
16 extern int max_macrotrigger;
17 extern concptr macro_template;
18 extern concptr macro_modifier_chr;
19 extern concptr macro_modifier_name[MAX_MACRO_MOD];
20 extern concptr macro_trigger_name[MAX_MACRO_TRIG];
21 extern concptr macro_trigger_keycode[2][MAX_MACRO_TRIG];
22
23 void text_to_ascii(char *buf, std::string_view sv, size_t bufsize);
24 void ascii_to_text(char *buf, std::string_view sv, size_t bufsize);
25 size_t angband_strcpy(char *buf, std::string_view src, size_t bufsize);
26 size_t angband_strcat(char *buf, std::string_view src, size_t bufsize);
27 char *angband_strstr(const char *haystack, std::string_view needle);
28 char *angband_strchr(concptr ptr, char ch);
29 char *ltrim(char *p);
30 char *rtrim(char *p);
31 int strrncmp(const char *s1, const char *s2, int len);
32 bool str_find(const std::string &src, std::string_view find);
33 std::string str_trim(std::string_view str);
34 std::string str_rtrim(std::string_view str);
35 std::string str_ltrim(std::string_view str);
36 std::vector<std::string> str_split(std::string_view str, char delim, bool trim = false, int num = 0);
37 std::vector<std::string> str_separate(std::string_view str, size_t len);
38 std::string str_erase(std::string str, std::string_view erase_chars);
39 std::string str_substr(std::string_view sv, size_t pos = 0, size_t n = std::string_view::npos);
40 std::string str_substr(std::string &&str, size_t pos = 0, size_t n = std::string_view::npos);
41 std::string str_substr(const char *str, size_t pos = 0, size_t n = std::string_view::npos);