OSDN Git Service

[Refactor] 特性表示記号テーブルに const を付ける
authorHabu <habu1010+github@gmail.com>
Fri, 9 Sep 2022 13:32:14 +0000 (22:32 +0900)
committerHabu <habu1010+github@gmail.com>
Fri, 9 Sep 2022 13:32:14 +0000 (22:32 +0900)
リードオンリーなテーブルであり、明らかに付けるべきものなので付けておく。

src/flavor/flag-inscriptions-table.cpp
src/flavor/flag-inscriptions-table.h
src/flavor/flavor-util.cpp

index cedd668..147c354 100644 (file)
@@ -22,7 +22,7 @@ const concptr game_inscriptions[MAX_GAME_INSCRIPTIONS] = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(pval要素) */
-std::vector<flag_insc_table> flag_insc_plus = {
+const std::vector<flag_insc_table> flag_insc_plus = {
     { N("攻", "At"), TR_BLOWS },
     { N("速", "Sp"), TR_SPEED },
     { N("腕", "St"), TR_STR },
@@ -39,7 +39,7 @@ std::vector<flag_insc_table> flag_insc_plus = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(免疫) */
-std::vector<flag_insc_table> flag_insc_immune = {
+const std::vector<flag_insc_table> flag_insc_immune = {
     { N("酸", "Ac"), TR_IM_ACID },
     { N("電", "El"), TR_IM_ELEC },
     { N("火", "Fi"), TR_IM_FIRE },
@@ -48,7 +48,7 @@ std::vector<flag_insc_table> flag_insc_immune = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(弱点) */
-std::vector<flag_insc_table> flag_insc_vuln = {
+const std::vector<flag_insc_table> flag_insc_vuln = {
     { N("酸", "Ac"), TR_VUL_ACID, TR_IM_ACID },
     { N("電", "El"), TR_VUL_ELEC, TR_IM_ELEC },
     { N("火", "Fi"), TR_VUL_FIRE, TR_IM_FIRE },
@@ -58,7 +58,7 @@ std::vector<flag_insc_table> flag_insc_vuln = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(耐性) */
-std::vector<flag_insc_table> flag_insc_resistance = {
+const std::vector<flag_insc_table> flag_insc_resistance = {
     { N("酸", "Ac"), TR_RES_ACID, TR_IM_ACID },
     { N("電", "El"), TR_RES_ELEC, TR_IM_ELEC },
     { N("火", "Fi"), TR_RES_FIRE, TR_IM_FIRE },
@@ -81,7 +81,7 @@ std::vector<flag_insc_table> flag_insc_resistance = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(その他特性) */
-std::vector<flag_insc_table> flag_insc_misc = {
+const std::vector<flag_insc_table> flag_insc_misc = {
     { N("易", "Es"), TR_EASY_SPELL },
     { N("減", "Dm"), TR_DEC_MANA },
     { N("投", "Th"), TR_THROW },
@@ -113,7 +113,7 @@ std::vector<flag_insc_table> flag_insc_misc = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(オーラ) */
-std::vector<flag_insc_table> flag_insc_aura = {
+const std::vector<flag_insc_table> flag_insc_aura = {
     { N("炎", "F"), TR_SH_FIRE },
     { N("電", "E"), TR_SH_ELEC },
     { N("冷", "C"), TR_SH_COLD },
@@ -122,7 +122,7 @@ std::vector<flag_insc_table> flag_insc_aura = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(属性スレイ) */
-std::vector<flag_insc_table> flag_insc_brand = {
+const std::vector<flag_insc_table> flag_insc_brand = {
     { N("酸", "A"), TR_BRAND_ACID },
     { N("電", "E"), TR_BRAND_ELEC },
     { N("焼", "F"), TR_BRAND_FIRE },
@@ -138,7 +138,7 @@ std::vector<flag_insc_table> flag_insc_brand = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(種族スレイ) */
-std::vector<flag_insc_table> flag_insc_kill = {
+const std::vector<flag_insc_table> flag_insc_kill = {
     { N("邪", "*"), TR_KILL_EVIL },
     { N("善", "A"), TR_KILL_GOOD },
     { N("人", "p"), TR_KILL_HUMAN },
@@ -152,7 +152,7 @@ std::vector<flag_insc_table> flag_insc_kill = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(種族*スレイ*) */
-std::vector<flag_insc_table> flag_insc_slay = {
+const std::vector<flag_insc_table> flag_insc_slay = {
     { N("邪", "*"), TR_SLAY_EVIL, TR_KILL_EVIL },
     { N("善", "A"), TR_SLAY_GOOD, TR_KILL_GOOD },
     { N("人", "p"), TR_SLAY_HUMAN, TR_KILL_HUMAN },
@@ -166,7 +166,7 @@ std::vector<flag_insc_table> flag_insc_slay = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(ESP1) */
-std::vector<flag_insc_table> flag_insc_esp1 = {
+const std::vector<flag_insc_table> flag_insc_esp1 = {
     { N("感", "Tele"), TR_TELEPATHY },
     { N("邪", "Evil"), TR_ESP_EVIL },
     { N("善", "Good"), TR_ESP_GOOD },
@@ -175,7 +175,7 @@ std::vector<flag_insc_table> flag_insc_esp1 = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(ESP2) */
-std::vector<flag_insc_table> flag_insc_esp2 = {
+const std::vector<flag_insc_table> flag_insc_esp2 = {
     { N("人", "p"), TR_ESP_HUMAN },
     { N("竜", "D"), TR_ESP_DRAGON },
     { N("オ", "o"), TR_ESP_ORC },
@@ -187,7 +187,7 @@ std::vector<flag_insc_table> flag_insc_esp2 = {
 };
 
 /*! オブジェクトの特性表示記号テーブルの定義(能力維持) */
-std::vector<flag_insc_table> flag_insc_sust = {
+const std::vector<flag_insc_table> flag_insc_sust = {
     { N("腕", "St"), TR_SUST_STR },
     { N("知", "In"), TR_SUST_INT },
     { N("賢", "Wi"), TR_SUST_WIS },
index ea79d36..9bc820d 100644 (file)
@@ -38,15 +38,15 @@ struct flag_insc_table {
 
 extern const concptr game_inscriptions[MAX_GAME_INSCRIPTIONS];
 
-extern std::vector<flag_insc_table> flag_insc_plus;
-extern std::vector<flag_insc_table> flag_insc_immune;
-extern std::vector<flag_insc_table> flag_insc_vuln;
-extern std::vector<flag_insc_table> flag_insc_resistance;
-extern std::vector<flag_insc_table> flag_insc_misc;
-extern std::vector<flag_insc_table> flag_insc_aura;
-extern std::vector<flag_insc_table> flag_insc_brand;
-extern std::vector<flag_insc_table> flag_insc_kill;
-extern std::vector<flag_insc_table> flag_insc_slay;
-extern std::vector<flag_insc_table> flag_insc_esp1;
-extern std::vector<flag_insc_table> flag_insc_esp2;
-extern std::vector<flag_insc_table> flag_insc_sust;
+extern const std::vector<flag_insc_table> flag_insc_plus;
+extern const std::vector<flag_insc_table> flag_insc_immune;
+extern const std::vector<flag_insc_table> flag_insc_vuln;
+extern const std::vector<flag_insc_table> flag_insc_resistance;
+extern const std::vector<flag_insc_table> flag_insc_misc;
+extern const std::vector<flag_insc_table> flag_insc_aura;
+extern const std::vector<flag_insc_table> flag_insc_brand;
+extern const std::vector<flag_insc_table> flag_insc_kill;
+extern const std::vector<flag_insc_table> flag_insc_slay;
+extern const std::vector<flag_insc_table> flag_insc_esp1;
+extern const std::vector<flag_insc_table> flag_insc_esp2;
+extern const std::vector<flag_insc_table> flag_insc_sust;
index 26a4488..b7a9119 100644 (file)
@@ -146,14 +146,14 @@ static void add_inscription(char **short_flavor, concptr str)
  * sprintf(t, "%+d", n), and return a pointer to the terminator.
  * Note that we always print a sign, either "+" or "-".
  */
-static char *inscribe_flags_aux(std::vector<flag_insc_table> &fi_vec, const TrFlags &flgs, bool kanji, char *ptr)
+static char *inscribe_flags_aux(const std::vector<flag_insc_table> &fi_vec, const TrFlags &flgs, bool kanji, char *ptr)
 {
 #ifdef JP
 #else
     (void)kanji;
 #endif
 
-    for (flag_insc_table &fi : fi_vec) {
+    for (const auto &fi : fi_vec) {
         if (flgs.has(fi.flag) && (!fi.except_flag.has_value() || flgs.has_not(fi.except_flag.value()))) {
             add_inscription(&ptr, _(kanji ? fi.japanese : fi.english, fi.english));
         }
@@ -169,9 +169,9 @@ static char *inscribe_flags_aux(std::vector<flag_insc_table> &fi_vec, const TrFl
  * @param flgs 対応するオブジェクトのフラグ文字列
  * @return 1つでも該当の特性があったらTRUEを返す。
  */
-static bool has_flag_of(std::vector<flag_insc_table> &fi_vec, const TrFlags &flgs)
+static bool has_flag_of(const std::vector<flag_insc_table> &fi_vec, const TrFlags &flgs)
 {
-    for (flag_insc_table &fi : fi_vec) {
+    for (const auto &fi : fi_vec) {
         if (flgs.has(fi.flag) && (!fi.except_flag.has_value() || flgs.has_not(fi.except_flag.value()))) {
             return true;
         }