From 72e61dcea07b9a18034583b90b6db094abf8f255 Mon Sep 17 00:00:00 2001 From: kaoru Date: Sun, 26 Apr 2026 15:33:19 +0900 Subject: [PATCH 01/26] fix: correct pthread flags for clang compatibility #349 Handle clang-specific pthread handling to prevent linking issues. - Set AX_PTHREAD_LINK_CFLAGS to PTHREAD_CFLAGS initially - Detect clang via CXX --version and clear AX_PTHREAD_LINK_CFLAGS if PTHREAD_CFLAGS is exactly "-pthread" - Substitute AX_PTHREAD_LINK_CFLAGS into LIBS instead of PTHREAD_CFLAGS directly --- configure.ac | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 8fe02c7a..5a4a56c5 100644 --- a/configure.ac +++ b/configure.ac @@ -184,9 +184,12 @@ test -z $DOXYGEN && \ #### Library Checks #### AX_PTHREAD -AC_SUBST([LIBS], "${PTHREAD_LIBS} ${LIBS}") -AC_SUBST([CFLAGS], "${CFLAGS} ${PTHREAD_CFLAGS}") -AC_SUBST([CXXFLAGS], "${CXXFLAGS} ${PTHREAD_CFLAGS}") +AX_PTHREAD_LINK_CFLAGS="${PTHREAD_CFLAGS}" +AS_IF( + [${CXX} --version 2>/dev/null | grep -qi clang], + [test "x${PTHREAD_CFLAGS}" = "x-pthread" && AX_PTHREAD_LINK_CFLAGS=""] +) +AC_SUBST([LIBS], "${AX_PTHREAD_LINK_CFLAGS} ${PTHREAD_LIBS} ${LIBS}") AC_SUBST([CC], "${PTHREAD_CC}") AX_BOOST_BASE([1.88.0]) From 94b03f7b16ea1f3a683a053c618173dfc4f83979 Mon Sep 17 00:00:00 2001 From: kaoru Date: Sun, 26 Apr 2026 18:33:49 +0900 Subject: [PATCH 02/26] style: add void parameters to C function declarations and definitions #349 Updated function prototypes and definitions across json, lattice, property, text, trie libraries and samples to include explicit void parameters for functions taking no arguments. Improved code consistency and adherence to C coding standards. --- library/json/c/include/tetengo/json/element.h | 20 +++++++++---------- library/json/c/include/tetengo/json/reader.h | 2 +- .../test/src/usage_tetengo.json.parsing_c.c | 2 +- .../test/src/usage_tetengo.json.parsing_c.h | 2 +- .../c/include/tetengo/lattice/constraint.h | 2 +- .../lattice/c/include/tetengo/lattice/entry.h | 2 +- .../lattice/c/include/tetengo/lattice/path.h | 2 +- .../src/usage_tetengo.lattice.viterbi_c.c | 6 +++--- .../src/usage_tetengo.lattice.viterbi_c.h | 2 +- .../c/include/tetengo/property/storage.h | 6 +++--- .../src/usage_tetengo.property.saveLoad_c.c | 6 +++--- .../src/usage_tetengo.property.saveLoad_c.h | 2 +- .../c/include/tetengo/text/graphemeSplitter.h | 2 +- .../test/src/usage_tetengo.text.encoding_c.c | 2 +- .../test/src/usage_tetengo.text.encoding_c.h | 2 +- .../src/usage_tetengo.text.graphemeSplit_c.c | 10 +++++----- .../src/usage_tetengo.text.graphemeSplit_c.h | 2 +- library/trie/c/include/tetengo/trie/storage.h | 2 +- .../test/src/usage_tetengo.trie.search_c.c | 2 +- .../test/src/usage_tetengo.trie.search_c.h | 2 +- sample/json2timetable/src/encode.c | 2 +- .../src/printStationTimetable.c | 2 +- sample/search_dict_c/src/main.c | 2 +- 23 files changed, 42 insertions(+), 42 deletions(-) diff --git a/library/json/c/include/tetengo/json/element.h b/library/json/c/include/tetengo/json/element.h index ddbb1510..069b135e 100644 --- a/library/json/c/include/tetengo/json/element.h +++ b/library/json/c/include/tetengo/json/element.h @@ -24,70 +24,70 @@ typedef struct tetengo_json_element_tag tetengo_json_element_t; \return The type name. */ -int tetengo_json_element_typeName_string(); +int tetengo_json_element_typeName_string(void); /*! \brief Returns the type name of number. \return The type name. */ -int tetengo_json_element_typeName_number(); +int tetengo_json_element_typeName_number(void); /*! \brief Returns the type name of boolean. \return The type name. */ -int tetengo_json_element_typeName_boolean(); +int tetengo_json_element_typeName_boolean(void); /*! \brief Returns the type name of null. \return The type name. */ -int tetengo_json_element_typeName_null(); +int tetengo_json_element_typeName_null(void); /*! \brief Returns the type name of object. \return The type name. */ -int tetengo_json_element_typeName_object(); +int tetengo_json_element_typeName_object(void); /*! \brief Returns the type name of member. \return The type name. */ -int tetengo_json_element_typeName_member(); +int tetengo_json_element_typeName_member(void); /*! \brief Returns the type name of array. \return The type name. */ -int tetengo_json_element_typeName_array(); +int tetengo_json_element_typeName_array(void); /*! \brief Returns the type category of primitive. \return The type category. */ -int tetengo_json_element_typeCategory_primitive(); +int tetengo_json_element_typeCategory_primitive(void); /*! \brief Returns the type category of opening structure. \return The type category. */ -int tetengo_json_element_typeCategory_structureOpen(); +int tetengo_json_element_typeCategory_structureOpen(void); /*! \brief Returns the type category of closing structure. \return The type category. */ -int tetengo_json_element_typeCategory_structureClose(); +int tetengo_json_element_typeCategory_structureClose(void); /*! The type type. */ typedef struct tetengo_json_element_type_tag diff --git a/library/json/c/include/tetengo/json/reader.h b/library/json/c/include/tetengo/json/reader.h index 18223000..66134703 100644 --- a/library/json/c/include/tetengo/json/reader.h +++ b/library/json/c/include/tetengo/json/reader.h @@ -45,7 +45,7 @@ typedef struct tetengo_json_location_tag \return The default buffer capacity. */ -size_t tetengo_json_reader_streamReaderDefaultBufferCapacity(); +size_t tetengo_json_reader_streamReaderDefaultBufferCapacity(void); /*! \brief Creates a stream reader. diff --git a/library/json/test/src/usage_tetengo.json.parsing_c.c b/library/json/test/src/usage_tetengo.json.parsing_c.c index dc25fd47..0c7df1f8 100644 --- a/library/json/test/src/usage_tetengo.json.parsing_c.c +++ b/library/json/test/src/usage_tetengo.json.parsing_c.c @@ -20,7 +20,7 @@ int make_json_file(const char* text, const char* path); const char* to_string(const tetengo_json_element_t* p_element); -void usage_tetengo_json_parsing() +void usage_tetengo_json_parsing(void) { // clang-format off static const char* const json_text = diff --git a/library/json/test/src/usage_tetengo.json.parsing_c.h b/library/json/test/src/usage_tetengo.json.parsing_c.h index a10ecba7..049135e3 100644 --- a/library/json/test/src/usage_tetengo.json.parsing_c.h +++ b/library/json/test/src/usage_tetengo.json.parsing_c.h @@ -13,7 +13,7 @@ extern "C" { #endif -void usage_tetengo_json_parsing(); +void usage_tetengo_json_parsing(void); #if defined(__cplusplus) diff --git a/library/lattice/c/include/tetengo/lattice/constraint.h b/library/lattice/c/include/tetengo/lattice/constraint.h index 93ecdf42..2478bc01 100644 --- a/library/lattice/c/include/tetengo/lattice/constraint.h +++ b/library/lattice/c/include/tetengo/lattice/constraint.h @@ -30,7 +30,7 @@ typedef struct tetengo_lattice_constraint_tag tetengo_lattice_constraint_t; \return A pointer to an empty constraint. */ -tetengo_lattice_constraint_t* tetengo_lattice_constraint_createEmpty(); +tetengo_lattice_constraint_t* tetengo_lattice_constraint_createEmpty(void); /*! \brief Creates a constraint. diff --git a/library/lattice/c/include/tetengo/lattice/entry.h b/library/lattice/c/include/tetengo/lattice/entry.h index 382295d1..af788c8e 100644 --- a/library/lattice/c/include/tetengo/lattice/entry.h +++ b/library/lattice/c/include/tetengo/lattice/entry.h @@ -107,7 +107,7 @@ tetengo_lattice_entry_keyHandle_t tetengo_lattice_entry_toKeyHandle(const teteng \return The pointer to the BOS/EOS entry. */ -const tetengo_lattice_entryView_t* tetengo_lattice_entryView_bosEos(); +const tetengo_lattice_entryView_t* tetengo_lattice_entryView_bosEos(void); /*! \brief Creates an entry view key by a handle. diff --git a/library/lattice/c/include/tetengo/lattice/path.h b/library/lattice/c/include/tetengo/lattice/path.h index 0e12da98..01790cc8 100644 --- a/library/lattice/c/include/tetengo/lattice/path.h +++ b/library/lattice/c/include/tetengo/lattice/path.h @@ -27,7 +27,7 @@ typedef struct tetengo_lattice_path_tag tetengo_lattice_path_t; \return A pointer to a path. Or NULL when p_nodes is NULL. */ -tetengo_lattice_path_t* tetengo_lattice_path_createEmpty(); +tetengo_lattice_path_t* tetengo_lattice_path_createEmpty(void); /*! \brief Creates a path. diff --git a/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c b/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c index f9a3b831..76a9718f 100644 --- a/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c +++ b/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c @@ -25,10 +25,10 @@ #include -tetengo_lattice_vocabulary_t* build_vocabulary(); +tetengo_lattice_vocabulary_t* build_vocabulary(void); const char* to_string(const tetengo_lattice_path_t* p_path); -void usage_tetengo_lattice_viterbi() +void usage_tetengo_lattice_viterbi(void) { /* Makes the following lattice and searches it. @@ -144,7 +144,7 @@ entry_equal_to(const tetengo_lattice_entryView_t* const p_entry1, const tetengo_ return equality; } -tetengo_lattice_vocabulary_t* build_vocabulary() +tetengo_lattice_vocabulary_t* build_vocabulary(void) { // The contents of the vocabulary. const tetengo_lattice_input_t* const p_entry_key_a = tetengo_lattice_input_createStringInput("a"); diff --git a/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h b/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h index 0631cf66..be2b0bd9 100644 --- a/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h +++ b/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.h @@ -13,7 +13,7 @@ extern "C" { #endif -void usage_tetengo_lattice_viterbi(); +void usage_tetengo_lattice_viterbi(void); #if defined(__cplusplus) diff --git a/library/property/c/include/tetengo/property/storage.h b/library/property/c/include/tetengo/property/storage.h index 963bb0d7..57f00315 100644 --- a/library/property/c/include/tetengo/property/storage.h +++ b/library/property/c/include/tetengo/property/storage.h @@ -111,21 +111,21 @@ void tetengo_property_storage_save(const tetengo_property_storage_t* p_storage); \return A pointer to a storage loader. */ -tetengo_property_storageLoader_t* tetengo_property_storageLoader_createMemoryStorageLoader(); +tetengo_property_storageLoader_t* tetengo_property_storageLoader_createMemoryStorageLoader(void); /*! \brief Creates a file storage loader. \return A pointer to a storage loader. */ -tetengo_property_storageLoader_t* tetengo_property_storageLoader_createFileStorageLoader(); +tetengo_property_storageLoader_t* tetengo_property_storageLoader_createFileStorageLoader(void); /*! \brief Creates a Windows registry storage loader. \return A pointer to a storage loader. */ -tetengo_property_storageLoader_t* tetengo_property_storageLoader_createWindowsRegistoryStorageLoader(); +tetengo_property_storageLoader_t* tetengo_property_storageLoader_createWindowsRegistoryStorageLoader(void); /*! \brief Creates a storage loader proxy. diff --git a/library/property/test/src/usage_tetengo.property.saveLoad_c.c b/library/property/test/src/usage_tetengo.property.saveLoad_c.c index df538a83..cb044964 100644 --- a/library/property/test/src/usage_tetengo.property.saveLoad_c.c +++ b/library/property/test/src/usage_tetengo.property.saveLoad_c.c @@ -17,11 +17,11 @@ #include -static const char* setting_file_path(); +static const char* setting_file_path(void); static int file_exists(const char* path); -void usage_tetengo_property_saveLoad() +void usage_tetengo_property_saveLoad(void) { assert(!file_exists(setting_file_path())); @@ -83,7 +83,7 @@ void usage_tetengo_property_saveLoad() tetengo_property_propertySet_destroy(p_props_for_setting); } -static const char* setting_file_path() +static const char* setting_file_path(void) { static char path[4096] = { '\0' }; if (path[0] == '\0') diff --git a/library/property/test/src/usage_tetengo.property.saveLoad_c.h b/library/property/test/src/usage_tetengo.property.saveLoad_c.h index 85e61c5c..bff12902 100644 --- a/library/property/test/src/usage_tetengo.property.saveLoad_c.h +++ b/library/property/test/src/usage_tetengo.property.saveLoad_c.h @@ -13,7 +13,7 @@ extern "C" { #endif -void usage_tetengo_property_saveLoad(); +void usage_tetengo_property_saveLoad(void); #if defined(__cplusplus) diff --git a/library/text/c/include/tetengo/text/graphemeSplitter.h b/library/text/c/include/tetengo/text/graphemeSplitter.h index 382bf305..540b5833 100644 --- a/library/text/c/include/tetengo/text/graphemeSplitter.h +++ b/library/text/c/include/tetengo/text/graphemeSplitter.h @@ -41,7 +41,7 @@ typedef struct tetengo_text_grapheme_tag \return A pointer to a grapheme splitter. */ -tetengo_text_graphemeSplitter_t* tetengo_text_graphemeSplitter_create(); +tetengo_text_graphemeSplitter_t* tetengo_text_graphemeSplitter_create(void); /*! \brief Destroys a grapheme splitter. diff --git a/library/text/test/src/usage_tetengo.text.encoding_c.c b/library/text/test/src/usage_tetengo.text.encoding_c.c index b15e710f..ff1441a1 100644 --- a/library/text/test/src/usage_tetengo.text.encoding_c.c +++ b/library/text/test/src/usage_tetengo.text.encoding_c.c @@ -16,7 +16,7 @@ static int equal(const unsigned short* string1, const unsigned short* string2); -void usage_tetengo_text_encoding() +void usage_tetengo_text_encoding(void) { static const char utf8[] = { // clang-format off diff --git a/library/text/test/src/usage_tetengo.text.encoding_c.h b/library/text/test/src/usage_tetengo.text.encoding_c.h index 07fff352..f78dd422 100644 --- a/library/text/test/src/usage_tetengo.text.encoding_c.h +++ b/library/text/test/src/usage_tetengo.text.encoding_c.h @@ -13,7 +13,7 @@ extern "C" { #endif -void usage_tetengo_text_encoding(); +void usage_tetengo_text_encoding(void); #if defined(__cplusplus) diff --git a/library/text/test/src/usage_tetengo.text.graphemeSplit_c.c b/library/text/test/src/usage_tetengo.text.graphemeSplit_c.c index 476f9718..fa701040 100644 --- a/library/text/test/src/usage_tetengo.text.graphemeSplit_c.c +++ b/library/text/test/src/usage_tetengo.text.graphemeSplit_c.c @@ -17,11 +17,11 @@ static void save_current_locale(int category, char* storage, size_t storage_capacity); -static const char* japanese_locale_name(); +static const char* japanese_locale_name(void); -static const char* english_locale_name(); +static const char* english_locale_name(void); -void usage_tetengo_text_graphemeSplit() +void usage_tetengo_text_graphemeSplit(void) { static const char string[] = { // clang-format off @@ -125,7 +125,7 @@ static void save_current_locale(const int category, char* const storage, const s } } -static const char* japanese_locale_name() +static const char* japanese_locale_name(void) { #if defined(_WIN32) return "Japanese_Japan.932"; @@ -134,7 +134,7 @@ static const char* japanese_locale_name() #endif } -static const char* english_locale_name() +static const char* english_locale_name(void) { #if defined(_WIN32) return "English_United States.1252"; diff --git a/library/text/test/src/usage_tetengo.text.graphemeSplit_c.h b/library/text/test/src/usage_tetengo.text.graphemeSplit_c.h index ee754dab..48d3c2c2 100644 --- a/library/text/test/src/usage_tetengo.text.graphemeSplit_c.h +++ b/library/text/test/src/usage_tetengo.text.graphemeSplit_c.h @@ -13,7 +13,7 @@ extern "C" { #endif -void usage_tetengo_text_graphemeSplit(); +void usage_tetengo_text_graphemeSplit(void); #if defined(__cplusplus) diff --git a/library/trie/c/include/tetengo/trie/storage.h b/library/trie/c/include/tetengo/trie/storage.h index ed59e608..40125e1a 100644 --- a/library/trie/c/include/tetengo/trie/storage.h +++ b/library/trie/c/include/tetengo/trie/storage.h @@ -45,7 +45,7 @@ typedef char path_character_type; \return The check value for a vacant element. */ -uint8_t tetengo_trie_storage_vacantCheckValue(); +uint8_t tetengo_trie_storage_vacantCheckValue(void); /*! \brief Creates a storage. diff --git a/library/trie/test/src/usage_tetengo.trie.search_c.c b/library/trie/test/src/usage_tetengo.trie.search_c.c index 9a235250..4b284c19 100644 --- a/library/trie/test/src/usage_tetengo.trie.search_c.c +++ b/library/trie/test/src/usage_tetengo.trie.search_c.c @@ -25,7 +25,7 @@ static void done_observer(void* const p_context) strcat((char*)p_context, "DONE"); } -void usage_tetengo_trie_search() +void usage_tetengo_trie_search(void) { // Prepares initial elements. const int initial_values[] = { diff --git a/library/trie/test/src/usage_tetengo.trie.search_c.h b/library/trie/test/src/usage_tetengo.trie.search_c.h index 99002c95..2c47ba3e 100644 --- a/library/trie/test/src/usage_tetengo.trie.search_c.h +++ b/library/trie/test/src/usage_tetengo.trie.search_c.h @@ -13,7 +13,7 @@ extern "C" { #endif -void usage_tetengo_trie_search(); +void usage_tetengo_trie_search(void); #if defined(__cplusplus) diff --git a/sample/json2timetable/src/encode.c b/sample/json2timetable/src/encode.c index 6af196a0..3eb94378 100644 --- a/sample/json2timetable/src/encode.c +++ b/sample/json2timetable/src/encode.c @@ -14,7 +14,7 @@ #include -static tetengo_text_encoder_encoding_t select_encoding() +static tetengo_text_encoder_encoding_t select_encoding(void) { const char* const locale = setlocale(LC_CTYPE, NULL); if (locale && strcmp(locale, "Japanese_Japan.932") == 0) diff --git a/sample/json2timetable/src/printStationTimetable.c b/sample/json2timetable/src/printStationTimetable.c index ce0ccbc9..7a1bd622 100644 --- a/sample/json2timetable/src/printStationTimetable.c +++ b/sample/json2timetable/src/printStationTimetable.c @@ -48,7 +48,7 @@ static void destroy_string(const void* const p_departure) free((void*)p_departure); } -static const arrayList_t* create_departure_list() +static const arrayList_t* create_departure_list(void) { arrayList_t* const p_departure_list = arrayList_create(destroy_string); return p_departure_list; diff --git a/sample/search_dict_c/src/main.c b/sample/search_dict_c/src/main.c index af268b80..658d9dd7 100644 --- a/sample/search_dict_c/src/main.c +++ b/sample/search_dict_c/src/main.c @@ -174,7 +174,7 @@ static void to_array_of_lex_span( } } -static tetengo_text_encoder_encoding_t select_encoding() +static tetengo_text_encoder_encoding_t select_encoding(void) { const char* const locale = setlocale(LC_CTYPE, NULL); if (locale && strcmp(locale, "Japanese_Japan.932") == 0) From fe1a3a0456bc32d20bf0517c7dcc93a3fd220aa3 Mon Sep 17 00:00:00 2001 From: kaoru Date: Sun, 26 Apr 2026 22:17:03 +0900 Subject: [PATCH 03/26] docs: update build requirements to Boost 1.91.0, Clang 18/GCC 14 (#352) #349 Updated compiler and Boost version requirements in Windows and Linux sections for compatibility with latest toolchains. --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7ca0d3b4..6bae9ee0 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ How to Build and Install #### Requirements - [Visual Studio 2022](https://visualstudio.microsoft.com/) -- [Boost C++ libraries 1.88.0](https://www.boost.org/) +- [Boost C++ libraries 1.91.0](https://www.boost.org/) - [Doxygen 1.13.2](https://www.doxygen.nl/) - [Graphviz](https://www.graphviz.org/) - [WiX toolset 6.0.0](https://wixtoolset.org/) @@ -138,11 +138,9 @@ Doxygen will output the documents into the directory `doc`. #### Requirements -- [Clang 11](https://clang.llvm.org/), - [Clang 14](https://clang.llvm.org/), - [GCC 10](https://gcc.gnu.org/) or - [GCC 12](https://gcc.gnu.org/) -- [Boost C++ libraries 1.88.0](https://www.boost.org/) +- [Clang 18](https://clang.llvm.org/) or + [GCC 14](https://gcc.gnu.org/) +- [Boost C++ libraries 1.91.0](https://www.boost.org/) - [Doxygen 1.13.2](https://www.doxygen.nl/) - [Graphviz](https://www.graphviz.org/) - [include-what-you-use 0.15](https://include-what-you-use.org/) or From cd4fd8c14387b027d62fa4dcf300edccde0fe495 Mon Sep 17 00:00:00 2001 From: kaoru Date: Sun, 26 Apr 2026 22:35:48 +0900 Subject: [PATCH 04/26] build: upgrade PlatformToolset from v143 to v145 #349 Update MSVC PlatformToolset to v145 across all vcxproj files for all configurations (Debug/Release, Win32/x64). Update solution files to .slnx format and add project GUIDs for better IDE integration. --- executable/setup/setup.vcxproj | 8 +- library/json/c/tetengo.json.vcxproj | 8 +- library/json/cpp/tetengo.json.cpp.vcxproj | 8 +- library/json/test/test_tetengo.json.vcxproj | 8 +- library/lattice/c/tetengo.lattice.vcxproj | 8 +- .../lattice/cpp/tetengo.lattice.cpp.vcxproj | 8 +- .../lattice/test/test_tetengo.lattice.vcxproj | 8 +- .../tetengo.platform_dependent.cpp.vcxproj | 8 +- .../test_tetengo.platform_dependent.vcxproj | 8 +- library/property/c/tetengo.property.vcxproj | 8 +- .../property/cpp/tetengo.property.cpp.vcxproj | 8 +- .../test/test_tetengo.property.vcxproj | 8 +- library/text/c/tetengo.text.vcxproj | 8 +- library/text/cpp/tetengo.text.cpp.vcxproj | 8 +- library/text/test/test_tetengo.text.vcxproj | 8 +- library/trie/c/tetengo.trie.vcxproj | 8 +- library/trie/cpp/tetengo.trie.cpp.vcxproj | 8 +- library/trie/test/test_tetengo.trie.vcxproj | 8 +- sample/json2timetable/json2timetable.vcxproj | 8 +- sample/make_dict/make_dict.vcxproj | 8 +- sample/search_dict/search_dict.vcxproj | 8 +- sample/search_dict_c/search_dict_c.vcxproj | 8 +- .../transfer_trains/transfer_trains.vcxproj | 8 +- setup/installer/installer.vcxproj | 8 +- tetengo.setup.sln | 31 -- tetengo.setup.slnx | 7 + tetengo.sln | 300 ------------------ tetengo.slnx | 46 +++ 28 files changed, 149 insertions(+), 427 deletions(-) delete mode 100644 tetengo.setup.sln create mode 100644 tetengo.setup.slnx delete mode 100644 tetengo.sln create mode 100644 tetengo.slnx diff --git a/executable/setup/setup.vcxproj b/executable/setup/setup.vcxproj index 1a5cab49..5ac3f36d 100644 --- a/executable/setup/setup.vcxproj +++ b/executable/setup/setup.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/library/json/c/tetengo.json.vcxproj b/library/json/c/tetengo.json.vcxproj index 5ce60344..6c394be3 100644 --- a/library/json/c/tetengo.json.vcxproj +++ b/library/json/c/tetengo.json.vcxproj @@ -29,27 +29,27 @@ DynamicLibrary true Unicode - v143 + v145 DynamicLibrary true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 diff --git a/library/json/cpp/tetengo.json.cpp.vcxproj b/library/json/cpp/tetengo.json.cpp.vcxproj index 2ea9f34f..c68fa43d 100644 --- a/library/json/cpp/tetengo.json.cpp.vcxproj +++ b/library/json/cpp/tetengo.json.cpp.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v143 + v145 StaticLibrary true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 diff --git a/library/json/test/test_tetengo.json.vcxproj b/library/json/test/test_tetengo.json.vcxproj index 85044774..61538534 100644 --- a/library/json/test/test_tetengo.json.vcxproj +++ b/library/json/test/test_tetengo.json.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/library/lattice/c/tetengo.lattice.vcxproj b/library/lattice/c/tetengo.lattice.vcxproj index 45bfcd04..af23c1ea 100644 --- a/library/lattice/c/tetengo.lattice.vcxproj +++ b/library/lattice/c/tetengo.lattice.vcxproj @@ -29,27 +29,27 @@ DynamicLibrary true Unicode - v143 + v145 DynamicLibrary true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 diff --git a/library/lattice/cpp/tetengo.lattice.cpp.vcxproj b/library/lattice/cpp/tetengo.lattice.cpp.vcxproj index 828d9d6e..e645927c 100644 --- a/library/lattice/cpp/tetengo.lattice.cpp.vcxproj +++ b/library/lattice/cpp/tetengo.lattice.cpp.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v143 + v145 StaticLibrary true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 diff --git a/library/lattice/test/test_tetengo.lattice.vcxproj b/library/lattice/test/test_tetengo.lattice.vcxproj index 8622b80d..326c8df8 100644 --- a/library/lattice/test/test_tetengo.lattice.vcxproj +++ b/library/lattice/test/test_tetengo.lattice.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj b/library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj index 82999cd2..b0c360d0 100644 --- a/library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj +++ b/library/platform_dependent/cpp/tetengo.platform_dependent.cpp.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v143 + v145 StaticLibrary true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 diff --git a/library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj b/library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj index c15d1850..63c8a1f4 100644 --- a/library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj +++ b/library/platform_dependent/test/test_tetengo.platform_dependent.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/library/property/c/tetengo.property.vcxproj b/library/property/c/tetengo.property.vcxproj index 0302f9ab..be86eb8f 100644 --- a/library/property/c/tetengo.property.vcxproj +++ b/library/property/c/tetengo.property.vcxproj @@ -29,27 +29,27 @@ DynamicLibrary true Unicode - v143 + v145 DynamicLibrary true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 diff --git a/library/property/cpp/tetengo.property.cpp.vcxproj b/library/property/cpp/tetengo.property.cpp.vcxproj index f1d4449b..fdafc46c 100644 --- a/library/property/cpp/tetengo.property.cpp.vcxproj +++ b/library/property/cpp/tetengo.property.cpp.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v143 + v145 StaticLibrary true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 diff --git a/library/property/test/test_tetengo.property.vcxproj b/library/property/test/test_tetengo.property.vcxproj index 80a5eeb6..e84069bc 100644 --- a/library/property/test/test_tetengo.property.vcxproj +++ b/library/property/test/test_tetengo.property.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/library/text/c/tetengo.text.vcxproj b/library/text/c/tetengo.text.vcxproj index 7285ec62..5eb627fd 100644 --- a/library/text/c/tetengo.text.vcxproj +++ b/library/text/c/tetengo.text.vcxproj @@ -29,27 +29,27 @@ DynamicLibrary true Unicode - v143 + v145 DynamicLibrary true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 diff --git a/library/text/cpp/tetengo.text.cpp.vcxproj b/library/text/cpp/tetengo.text.cpp.vcxproj index 1d1728d0..75731ef3 100644 --- a/library/text/cpp/tetengo.text.cpp.vcxproj +++ b/library/text/cpp/tetengo.text.cpp.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v143 + v145 StaticLibrary true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 diff --git a/library/text/test/test_tetengo.text.vcxproj b/library/text/test/test_tetengo.text.vcxproj index aa712c70..7b11205d 100644 --- a/library/text/test/test_tetengo.text.vcxproj +++ b/library/text/test/test_tetengo.text.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/library/trie/c/tetengo.trie.vcxproj b/library/trie/c/tetengo.trie.vcxproj index 7e8124f1..95da0c1e 100644 --- a/library/trie/c/tetengo.trie.vcxproj +++ b/library/trie/c/tetengo.trie.vcxproj @@ -29,27 +29,27 @@ DynamicLibrary true Unicode - v143 + v145 DynamicLibrary true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 DynamicLibrary false true Unicode - v143 + v145 diff --git a/library/trie/cpp/tetengo.trie.cpp.vcxproj b/library/trie/cpp/tetengo.trie.cpp.vcxproj index 883c60c0..57373497 100644 --- a/library/trie/cpp/tetengo.trie.cpp.vcxproj +++ b/library/trie/cpp/tetengo.trie.cpp.vcxproj @@ -29,27 +29,27 @@ StaticLibrary true Unicode - v143 + v145 StaticLibrary true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 StaticLibrary false true Unicode - v143 + v145 diff --git a/library/trie/test/test_tetengo.trie.vcxproj b/library/trie/test/test_tetengo.trie.vcxproj index c985b22d..7beb9a5e 100644 --- a/library/trie/test/test_tetengo.trie.vcxproj +++ b/library/trie/test/test_tetengo.trie.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/sample/json2timetable/json2timetable.vcxproj b/sample/json2timetable/json2timetable.vcxproj index a76efa03..ce013f5e 100644 --- a/sample/json2timetable/json2timetable.vcxproj +++ b/sample/json2timetable/json2timetable.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/sample/make_dict/make_dict.vcxproj b/sample/make_dict/make_dict.vcxproj index b103d8ab..f2c2d265 100644 --- a/sample/make_dict/make_dict.vcxproj +++ b/sample/make_dict/make_dict.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/sample/search_dict/search_dict.vcxproj b/sample/search_dict/search_dict.vcxproj index 83514149..a0448a6e 100644 --- a/sample/search_dict/search_dict.vcxproj +++ b/sample/search_dict/search_dict.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/sample/search_dict_c/search_dict_c.vcxproj b/sample/search_dict_c/search_dict_c.vcxproj index cdcbecdf..1cde8e75 100644 --- a/sample/search_dict_c/search_dict_c.vcxproj +++ b/sample/search_dict_c/search_dict_c.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/sample/transfer_trains/transfer_trains.vcxproj b/sample/transfer_trains/transfer_trains.vcxproj index 5473c29d..289e3f70 100644 --- a/sample/transfer_trains/transfer_trains.vcxproj +++ b/sample/transfer_trains/transfer_trains.vcxproj @@ -29,27 +29,27 @@ Application true Unicode - v143 + v145 Application true Unicode - v143 + v145 Application false true Unicode - v143 + v145 Application false true Unicode - v143 + v145 diff --git a/setup/installer/installer.vcxproj b/setup/installer/installer.vcxproj index 1a4a51ed..5d27b131 100644 --- a/setup/installer/installer.vcxproj +++ b/setup/installer/installer.vcxproj @@ -27,22 +27,22 @@ Makefile true - v143 + v145 Makefile false - v143 + v145 Makefile true - v143 + v145 Makefile false - v143 + v145 diff --git a/tetengo.setup.sln b/tetengo.setup.sln deleted file mode 100644 index d43de19c..00000000 --- a/tetengo.setup.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31912.275 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "setup\installer\installer.vcxproj", "{CC786CA7-FA79-4F28-B59B-FF76BE47992F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Debug|x64.ActiveCfg = Debug|x64 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Debug|x64.Build.0 = Debug|x64 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Debug|x86.ActiveCfg = Debug|Win32 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Debug|x86.Build.0 = Debug|Win32 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Release|x64.ActiveCfg = Release|x64 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Release|x64.Build.0 = Release|x64 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Release|x86.ActiveCfg = Release|Win32 - {CC786CA7-FA79-4F28-B59B-FF76BE47992F}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {9527DCE0-6C5B-48C9-8B7F-A8EE9EE7FB29} - EndGlobalSection -EndGlobal diff --git a/tetengo.setup.slnx b/tetengo.setup.slnx new file mode 100644 index 00000000..3b818d90 --- /dev/null +++ b/tetengo.setup.slnx @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tetengo.sln b/tetengo.sln deleted file mode 100644 index b5842c02..00000000 --- a/tetengo.sln +++ /dev/null @@ -1,300 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31912.275 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "trie", "trie", "{61A0CE42-96A0-4578-A035-17D62CE4A691}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "library", "library", "{43A6A26D-0B13-4B60-9DBD-6113E56F9E76}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sample", "sample", "{721A442D-34D8-457A-8D07-D21EB2C6A04C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "search_dict", "sample\search_dict\search_dict.vcxproj", "{15803B5C-8845-4325-819B-B09E40B8826E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_dict", "sample\make_dict\make_dict.vcxproj", "{D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.trie", "library\trie\c\tetengo.trie.vcxproj", "{E14D072F-631B-4E87-BC03-57437306CD34}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.trie.cpp", "library\trie\cpp\tetengo.trie.cpp.vcxproj", "{A755F6BF-9964-4608-A0C8-9F7557D14A09}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tetengo.trie", "library\trie\test\test_tetengo.trie.vcxproj", "{584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "search_dict_c", "sample\search_dict_c\search_dict_c.vcxproj", "{6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lattice", "lattice", "{983DE5D9-732F-4E41-87C5-EF551498AD47}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.lattice", "library\lattice\c\tetengo.lattice.vcxproj", "{2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.lattice.cpp", "library\lattice\cpp\tetengo.lattice.cpp.vcxproj", "{65C6D977-AC51-4E28-8B15-178FBDF69168}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tetengo.lattice", "library\lattice\test\test_tetengo.lattice.vcxproj", "{3FED617D-365B-4DEA-ACC0-21A60741EBD3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transfer_trains", "sample\transfer_trains\transfer_trains.vcxproj", "{8B106CC4-B645-4A2B-9807-38C8D185D40A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "json", "json", "{796F44F5-AAB1-4E90-98BF-FC60F7FD8E08}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.json", "library\json\c\tetengo.json.vcxproj", "{6A37648E-2203-4052-91DF-B8F2B2C26A04}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.json.cpp", "library\json\cpp\tetengo.json.cpp.vcxproj", "{CBA672B4-259E-4BD2-9072-1D34CF941D4C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tetengo.json", "library\json\test\test_tetengo.json.vcxproj", "{0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "text", "text", "{8025EE35-4F98-4CBA-8D82-E8D21E6BCB0F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tetengo.text", "library\text\test\test_tetengo.text.vcxproj", "{52ACD25C-C27C-475C-9E47-46A24719B163}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.text", "library\text\c\tetengo.text.vcxproj", "{49971358-A731-4C16-943A-C66735F3B342}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.text.cpp", "library\text\cpp\tetengo.text.cpp.vcxproj", "{BE228A1E-25D5-4825-89B4-C3513F1DC559}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json2timetable", "sample\json2timetable\json2timetable.vcxproj", "{EB5E3C27-4233-4BB2-A64A-66962EB663AD}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "platform_dependent", "platform_dependent", "{C7B68D75-9EFA-4708-B4DA-A8473357579D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.platform_dependent.cpp", "library\platform_dependent\cpp\tetengo.platform_dependent.cpp.vcxproj", "{3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tetengo.platform_dependent", "library\platform_dependent\test\test_tetengo.platform_dependent.vcxproj", "{3C7661CA-2B8C-47A6-A722-FC9DDE182425}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "executable", "executable", "{9D13BF98-E8F1-46C7-881F-881EECC4DAEB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "setup", "executable\setup\setup.vcxproj", "{5CDC9199-A26F-4204-91AD-E90C8C21697A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "property", "property", "{54A96989-C898-4938-8848-1D1B6D9E99C1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.property", "library\property\c\tetengo.property.vcxproj", "{21380636-4355-4AED-8A76-8B6A9FBA5650}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tetengo.property.cpp", "library\property\cpp\tetengo.property.cpp.vcxproj", "{4356FF6A-22D4-4835-8321-145998F26D68}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tetengo.property", "library\property\test\test_tetengo.property.vcxproj", "{770BC269-B483-424A-BF64-ADC43D81F5BE}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {15803B5C-8845-4325-819B-B09E40B8826E}.Debug|x64.ActiveCfg = Debug|x64 - {15803B5C-8845-4325-819B-B09E40B8826E}.Debug|x64.Build.0 = Debug|x64 - {15803B5C-8845-4325-819B-B09E40B8826E}.Debug|x86.ActiveCfg = Debug|Win32 - {15803B5C-8845-4325-819B-B09E40B8826E}.Debug|x86.Build.0 = Debug|Win32 - {15803B5C-8845-4325-819B-B09E40B8826E}.Release|x64.ActiveCfg = Release|x64 - {15803B5C-8845-4325-819B-B09E40B8826E}.Release|x64.Build.0 = Release|x64 - {15803B5C-8845-4325-819B-B09E40B8826E}.Release|x86.ActiveCfg = Release|Win32 - {15803B5C-8845-4325-819B-B09E40B8826E}.Release|x86.Build.0 = Release|Win32 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Debug|x64.ActiveCfg = Debug|x64 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Debug|x64.Build.0 = Debug|x64 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Debug|x86.ActiveCfg = Debug|Win32 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Debug|x86.Build.0 = Debug|Win32 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Release|x64.ActiveCfg = Release|x64 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Release|x64.Build.0 = Release|x64 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Release|x86.ActiveCfg = Release|Win32 - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB}.Release|x86.Build.0 = Release|Win32 - {E14D072F-631B-4E87-BC03-57437306CD34}.Debug|x64.ActiveCfg = Debug|x64 - {E14D072F-631B-4E87-BC03-57437306CD34}.Debug|x64.Build.0 = Debug|x64 - {E14D072F-631B-4E87-BC03-57437306CD34}.Debug|x86.ActiveCfg = Debug|Win32 - {E14D072F-631B-4E87-BC03-57437306CD34}.Debug|x86.Build.0 = Debug|Win32 - {E14D072F-631B-4E87-BC03-57437306CD34}.Release|x64.ActiveCfg = Release|x64 - {E14D072F-631B-4E87-BC03-57437306CD34}.Release|x64.Build.0 = Release|x64 - {E14D072F-631B-4E87-BC03-57437306CD34}.Release|x86.ActiveCfg = Release|Win32 - {E14D072F-631B-4E87-BC03-57437306CD34}.Release|x86.Build.0 = Release|Win32 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Debug|x64.ActiveCfg = Debug|x64 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Debug|x64.Build.0 = Debug|x64 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Debug|x86.ActiveCfg = Debug|Win32 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Debug|x86.Build.0 = Debug|Win32 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Release|x64.ActiveCfg = Release|x64 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Release|x64.Build.0 = Release|x64 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Release|x86.ActiveCfg = Release|Win32 - {A755F6BF-9964-4608-A0C8-9F7557D14A09}.Release|x86.Build.0 = Release|Win32 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Debug|x64.ActiveCfg = Debug|x64 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Debug|x64.Build.0 = Debug|x64 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Debug|x86.ActiveCfg = Debug|Win32 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Debug|x86.Build.0 = Debug|Win32 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Release|x64.ActiveCfg = Release|x64 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Release|x64.Build.0 = Release|x64 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Release|x86.ActiveCfg = Release|Win32 - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB}.Release|x86.Build.0 = Release|Win32 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Debug|x64.ActiveCfg = Debug|x64 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Debug|x64.Build.0 = Debug|x64 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Debug|x86.ActiveCfg = Debug|Win32 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Debug|x86.Build.0 = Debug|Win32 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Release|x64.ActiveCfg = Release|x64 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Release|x64.Build.0 = Release|x64 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Release|x86.ActiveCfg = Release|Win32 - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546}.Release|x86.Build.0 = Release|Win32 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Debug|x64.ActiveCfg = Debug|x64 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Debug|x64.Build.0 = Debug|x64 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Debug|x86.ActiveCfg = Debug|Win32 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Debug|x86.Build.0 = Debug|Win32 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Release|x64.ActiveCfg = Release|x64 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Release|x64.Build.0 = Release|x64 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Release|x86.ActiveCfg = Release|Win32 - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81}.Release|x86.Build.0 = Release|Win32 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Debug|x64.ActiveCfg = Debug|x64 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Debug|x64.Build.0 = Debug|x64 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Debug|x86.ActiveCfg = Debug|Win32 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Debug|x86.Build.0 = Debug|Win32 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Release|x64.ActiveCfg = Release|x64 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Release|x64.Build.0 = Release|x64 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Release|x86.ActiveCfg = Release|Win32 - {65C6D977-AC51-4E28-8B15-178FBDF69168}.Release|x86.Build.0 = Release|Win32 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Debug|x64.ActiveCfg = Debug|x64 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Debug|x64.Build.0 = Debug|x64 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Debug|x86.ActiveCfg = Debug|Win32 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Debug|x86.Build.0 = Debug|Win32 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Release|x64.ActiveCfg = Release|x64 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Release|x64.Build.0 = Release|x64 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Release|x86.ActiveCfg = Release|Win32 - {3FED617D-365B-4DEA-ACC0-21A60741EBD3}.Release|x86.Build.0 = Release|Win32 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Debug|x64.ActiveCfg = Debug|x64 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Debug|x64.Build.0 = Debug|x64 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Debug|x86.ActiveCfg = Debug|Win32 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Debug|x86.Build.0 = Debug|Win32 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Release|x64.ActiveCfg = Release|x64 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Release|x64.Build.0 = Release|x64 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Release|x86.ActiveCfg = Release|Win32 - {8B106CC4-B645-4A2B-9807-38C8D185D40A}.Release|x86.Build.0 = Release|Win32 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Debug|x64.ActiveCfg = Debug|x64 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Debug|x64.Build.0 = Debug|x64 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Debug|x86.ActiveCfg = Debug|Win32 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Debug|x86.Build.0 = Debug|Win32 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Release|x64.ActiveCfg = Release|x64 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Release|x64.Build.0 = Release|x64 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Release|x86.ActiveCfg = Release|Win32 - {6A37648E-2203-4052-91DF-B8F2B2C26A04}.Release|x86.Build.0 = Release|Win32 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Debug|x64.ActiveCfg = Debug|x64 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Debug|x64.Build.0 = Debug|x64 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Debug|x86.ActiveCfg = Debug|Win32 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Debug|x86.Build.0 = Debug|Win32 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Release|x64.ActiveCfg = Release|x64 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Release|x64.Build.0 = Release|x64 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Release|x86.ActiveCfg = Release|Win32 - {CBA672B4-259E-4BD2-9072-1D34CF941D4C}.Release|x86.Build.0 = Release|Win32 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Debug|x64.ActiveCfg = Debug|x64 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Debug|x64.Build.0 = Debug|x64 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Debug|x86.ActiveCfg = Debug|Win32 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Debug|x86.Build.0 = Debug|Win32 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Release|x64.ActiveCfg = Release|x64 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Release|x64.Build.0 = Release|x64 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Release|x86.ActiveCfg = Release|Win32 - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816}.Release|x86.Build.0 = Release|Win32 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Debug|x64.ActiveCfg = Debug|x64 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Debug|x64.Build.0 = Debug|x64 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Debug|x86.ActiveCfg = Debug|Win32 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Debug|x86.Build.0 = Debug|Win32 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Release|x64.ActiveCfg = Release|x64 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Release|x64.Build.0 = Release|x64 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Release|x86.ActiveCfg = Release|Win32 - {52ACD25C-C27C-475C-9E47-46A24719B163}.Release|x86.Build.0 = Release|Win32 - {49971358-A731-4C16-943A-C66735F3B342}.Debug|x64.ActiveCfg = Debug|x64 - {49971358-A731-4C16-943A-C66735F3B342}.Debug|x64.Build.0 = Debug|x64 - {49971358-A731-4C16-943A-C66735F3B342}.Debug|x86.ActiveCfg = Debug|Win32 - {49971358-A731-4C16-943A-C66735F3B342}.Debug|x86.Build.0 = Debug|Win32 - {49971358-A731-4C16-943A-C66735F3B342}.Release|x64.ActiveCfg = Release|x64 - {49971358-A731-4C16-943A-C66735F3B342}.Release|x64.Build.0 = Release|x64 - {49971358-A731-4C16-943A-C66735F3B342}.Release|x86.ActiveCfg = Release|Win32 - {49971358-A731-4C16-943A-C66735F3B342}.Release|x86.Build.0 = Release|Win32 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Debug|x64.ActiveCfg = Debug|x64 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Debug|x64.Build.0 = Debug|x64 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Debug|x86.ActiveCfg = Debug|Win32 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Debug|x86.Build.0 = Debug|Win32 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Release|x64.ActiveCfg = Release|x64 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Release|x64.Build.0 = Release|x64 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Release|x86.ActiveCfg = Release|Win32 - {BE228A1E-25D5-4825-89B4-C3513F1DC559}.Release|x86.Build.0 = Release|Win32 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Debug|x64.ActiveCfg = Debug|x64 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Debug|x64.Build.0 = Debug|x64 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Debug|x86.ActiveCfg = Debug|Win32 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Debug|x86.Build.0 = Debug|Win32 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Release|x64.ActiveCfg = Release|x64 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Release|x64.Build.0 = Release|x64 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Release|x86.ActiveCfg = Release|Win32 - {EB5E3C27-4233-4BB2-A64A-66962EB663AD}.Release|x86.Build.0 = Release|Win32 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Debug|x64.ActiveCfg = Debug|x64 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Debug|x64.Build.0 = Debug|x64 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Debug|x86.ActiveCfg = Debug|Win32 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Debug|x86.Build.0 = Debug|Win32 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Release|x64.ActiveCfg = Release|x64 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Release|x64.Build.0 = Release|x64 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Release|x86.ActiveCfg = Release|Win32 - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A}.Release|x86.Build.0 = Release|Win32 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Debug|x64.ActiveCfg = Debug|x64 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Debug|x64.Build.0 = Debug|x64 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Debug|x86.ActiveCfg = Debug|Win32 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Debug|x86.Build.0 = Debug|Win32 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Release|x64.ActiveCfg = Release|x64 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Release|x64.Build.0 = Release|x64 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Release|x86.ActiveCfg = Release|Win32 - {3C7661CA-2B8C-47A6-A722-FC9DDE182425}.Release|x86.Build.0 = Release|Win32 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Debug|x64.ActiveCfg = Debug|x64 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Debug|x64.Build.0 = Debug|x64 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Debug|x86.ActiveCfg = Debug|Win32 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Debug|x86.Build.0 = Debug|Win32 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Release|x64.ActiveCfg = Release|x64 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Release|x64.Build.0 = Release|x64 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Release|x86.ActiveCfg = Release|Win32 - {5CDC9199-A26F-4204-91AD-E90C8C21697A}.Release|x86.Build.0 = Release|Win32 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Debug|x64.ActiveCfg = Debug|x64 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Debug|x64.Build.0 = Debug|x64 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Debug|x86.ActiveCfg = Debug|Win32 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Debug|x86.Build.0 = Debug|Win32 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Release|x64.ActiveCfg = Release|x64 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Release|x64.Build.0 = Release|x64 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Release|x86.ActiveCfg = Release|Win32 - {21380636-4355-4AED-8A76-8B6A9FBA5650}.Release|x86.Build.0 = Release|Win32 - {4356FF6A-22D4-4835-8321-145998F26D68}.Debug|x64.ActiveCfg = Debug|x64 - {4356FF6A-22D4-4835-8321-145998F26D68}.Debug|x64.Build.0 = Debug|x64 - {4356FF6A-22D4-4835-8321-145998F26D68}.Debug|x86.ActiveCfg = Debug|Win32 - {4356FF6A-22D4-4835-8321-145998F26D68}.Debug|x86.Build.0 = Debug|Win32 - {4356FF6A-22D4-4835-8321-145998F26D68}.Release|x64.ActiveCfg = Release|x64 - {4356FF6A-22D4-4835-8321-145998F26D68}.Release|x64.Build.0 = Release|x64 - {4356FF6A-22D4-4835-8321-145998F26D68}.Release|x86.ActiveCfg = Release|Win32 - {4356FF6A-22D4-4835-8321-145998F26D68}.Release|x86.Build.0 = Release|Win32 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Debug|x64.ActiveCfg = Debug|x64 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Debug|x64.Build.0 = Debug|x64 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Debug|x86.ActiveCfg = Debug|Win32 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Debug|x86.Build.0 = Debug|Win32 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Release|x64.ActiveCfg = Release|x64 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Release|x64.Build.0 = Release|x64 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Release|x86.ActiveCfg = Release|Win32 - {770BC269-B483-424A-BF64-ADC43D81F5BE}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {61A0CE42-96A0-4578-A035-17D62CE4A691} = {43A6A26D-0B13-4B60-9DBD-6113E56F9E76} - {15803B5C-8845-4325-819B-B09E40B8826E} = {721A442D-34D8-457A-8D07-D21EB2C6A04C} - {D23815A4-4916-4C12-8DFA-CF6F4A8E51BB} = {721A442D-34D8-457A-8D07-D21EB2C6A04C} - {E14D072F-631B-4E87-BC03-57437306CD34} = {61A0CE42-96A0-4578-A035-17D62CE4A691} - {A755F6BF-9964-4608-A0C8-9F7557D14A09} = {61A0CE42-96A0-4578-A035-17D62CE4A691} - {584C5F3E-3956-4BC8-A1F7-6A8A09EDFDFB} = {61A0CE42-96A0-4578-A035-17D62CE4A691} - {6287FA8D-837B-4ADC-9DBB-5A7CF18F9546} = {721A442D-34D8-457A-8D07-D21EB2C6A04C} - {983DE5D9-732F-4E41-87C5-EF551498AD47} = {43A6A26D-0B13-4B60-9DBD-6113E56F9E76} - {2EE3983D-A0E0-429F-BC2F-5D46C93E1C81} = {983DE5D9-732F-4E41-87C5-EF551498AD47} - {65C6D977-AC51-4E28-8B15-178FBDF69168} = {983DE5D9-732F-4E41-87C5-EF551498AD47} - {3FED617D-365B-4DEA-ACC0-21A60741EBD3} = {983DE5D9-732F-4E41-87C5-EF551498AD47} - {8B106CC4-B645-4A2B-9807-38C8D185D40A} = {721A442D-34D8-457A-8D07-D21EB2C6A04C} - {796F44F5-AAB1-4E90-98BF-FC60F7FD8E08} = {43A6A26D-0B13-4B60-9DBD-6113E56F9E76} - {6A37648E-2203-4052-91DF-B8F2B2C26A04} = {796F44F5-AAB1-4E90-98BF-FC60F7FD8E08} - {CBA672B4-259E-4BD2-9072-1D34CF941D4C} = {796F44F5-AAB1-4E90-98BF-FC60F7FD8E08} - {0AAF49D5-D4FE-4CDA-BBC3-A1CDC25F8816} = {796F44F5-AAB1-4E90-98BF-FC60F7FD8E08} - {8025EE35-4F98-4CBA-8D82-E8D21E6BCB0F} = {43A6A26D-0B13-4B60-9DBD-6113E56F9E76} - {52ACD25C-C27C-475C-9E47-46A24719B163} = {8025EE35-4F98-4CBA-8D82-E8D21E6BCB0F} - {49971358-A731-4C16-943A-C66735F3B342} = {8025EE35-4F98-4CBA-8D82-E8D21E6BCB0F} - {BE228A1E-25D5-4825-89B4-C3513F1DC559} = {8025EE35-4F98-4CBA-8D82-E8D21E6BCB0F} - {EB5E3C27-4233-4BB2-A64A-66962EB663AD} = {721A442D-34D8-457A-8D07-D21EB2C6A04C} - {C7B68D75-9EFA-4708-B4DA-A8473357579D} = {43A6A26D-0B13-4B60-9DBD-6113E56F9E76} - {3AAEA971-DC2B-40D6-830C-B0D6A3368A7A} = {C7B68D75-9EFA-4708-B4DA-A8473357579D} - {3C7661CA-2B8C-47A6-A722-FC9DDE182425} = {C7B68D75-9EFA-4708-B4DA-A8473357579D} - {5CDC9199-A26F-4204-91AD-E90C8C21697A} = {9D13BF98-E8F1-46C7-881F-881EECC4DAEB} - {54A96989-C898-4938-8848-1D1B6D9E99C1} = {43A6A26D-0B13-4B60-9DBD-6113E56F9E76} - {21380636-4355-4AED-8A76-8B6A9FBA5650} = {54A96989-C898-4938-8848-1D1B6D9E99C1} - {4356FF6A-22D4-4835-8321-145998F26D68} = {54A96989-C898-4938-8848-1D1B6D9E99C1} - {770BC269-B483-424A-BF64-ADC43D81F5BE} = {54A96989-C898-4938-8848-1D1B6D9E99C1} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E1FDB91A-BB78-49E0-8D13-17726804EA86} - EndGlobalSection -EndGlobal diff --git a/tetengo.slnx b/tetengo.slnx new file mode 100644 index 00000000..6c37fc55 --- /dev/null +++ b/tetengo.slnx @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c437afb06134576be83c50225960ec2606bab077 Mon Sep 17 00:00:00 2001 From: kaoru Date: Sun, 26 Apr 2026 23:16:00 +0900 Subject: [PATCH 05/26] docs: upgrade Doxyfile to version 1.16.1 #349 Update Doxygen configuration from 1.13.2 to 1.16.1 with new options and defaults including MARKDOWN_STRICT, GENERATE_REQUIREMENTS, REQ_TRACEABILITY_INFO, PAGE_OUTLINE_PANEL, UML_MAX_EDGE_LABELS, and increased thread limits for better documentation generation and HTML layout. --- Doxyfile | 138 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 103 insertions(+), 35 deletions(-) diff --git a/Doxyfile b/Doxyfile index c74ee145..98fb21cf 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.13.2 +# Doxyfile 1.16.1 # This file describes the settings to be used by the documentation system # Doxygen (www.doxygen.org) for a project. @@ -351,6 +351,20 @@ EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES +# If the MARKDOWN_STRICT tag is enabled then Doxygen treats text in comments as +# Markdown formatted also in cases where Doxygen's native markup format +# conflicts with that of Markdown. This is only relevant in cases where +# backticks are used. Doxygen's native markup style allows a single quote to end +# a text fragment started with a backtick and then treat it as a piece of quoted +# text, whereas in Markdown such text fragment is treated as verbatim and only +# ends when a second matching backtick is found. Also, Doxygen's native markup +# format requires double quotes to be escaped when they appear in a backtick +# section, whereas this is not needed for Markdown. +# The default value is: YES. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_STRICT = YES + # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up # to that level are automatically included in the table of contents, even if # they do not have an id attribute. @@ -382,8 +396,8 @@ AUTOLINK_SUPPORT = YES # This tag specifies a list of words that, when matching the start of a word in # the documentation, will suppress auto links generation, if it is enabled via -# AUTOLINK_SUPPORT. This list does not affect affect links explicitly created -# using \# or the \link or commands. +# AUTOLINK_SUPPORT. This list does not affect links explicitly created using # +# or the \link or \ref commands. # This tag requires that the tag AUTOLINK_SUPPORT is set to YES. AUTOLINK_IGNORE_WORDS = @@ -500,7 +514,7 @@ LOOKUP_CACHE_SIZE = 0 # which effectively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. -# Minimum value: 0, maximum value: 32, default value: 1. +# Minimum value: 0, maximum value: 512, default value: 1. NUM_PROC_THREADS = 1 @@ -769,6 +783,27 @@ GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES +# The GENERATE_REQUIREMENTS tag can be used to enable (YES) or disable (NO) the +# requirements page. When enabled, this page is automatically created when at +# least one comment block with a \requirement command appears in the input. +# The default value is: YES. + +GENERATE_REQUIREMENTS = YES + +# The REQ_TRACEABILITY_INFO tag controls if traceability information is shown on +# the requirements page (only relevant when using \requirement comment blocks). +# The setting NO will disable the traceablility information altogether. The +# setting UNSATISFIED_ONLY will show a list of requirements that are missing a +# satisfies relation (through the command: \satisfies). Similarly the setting +# UNVERIFIED_ONLY will show a list of requirements that are missing a verifies +# relation (through the command: \verifies). Setting the tag to YES (the +# default) will show both lists if applicable. +# Possible values are: YES, NO, UNSATISFIED_ONLY and UNVERIFIED_ONLY. +# The default value is: YES. +# This tag requires that the tag GENERATE_REQUIREMENTS is set to YES. + +REQ_TRACEABILITY_INFO = YES + # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. @@ -1028,9 +1063,9 @@ INPUT_FILE_ENCODING = # # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, # *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, -# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, -# *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to -# be provided as Doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, +# *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be +# provided as Doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, # *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ @@ -1743,7 +1778,7 @@ ECLIPSE_DOC_ID = org.doxygen.Project # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: YES. +# The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO @@ -1758,20 +1793,29 @@ DISABLE_INDEX = NO # further fine tune the look of the index (see "Fine-tuning the output"). As an # example, the default style sheet generated by Doxygen has an example that # shows how to put an image at the root of the tree instead of the PROJECT_NAME. -# Since the tree basically has the same information as the tab index, you could -# consider setting DISABLE_INDEX to YES when enabling this option. +# Since the tree basically has more details information than the tab index, you +# could consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES -# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the -# FULL_SIDEBAR option determines if the side bar is limited to only the treeview -# area (value NO) or if it should extend to the full height of the window (value -# YES). Setting this to YES gives a layout similar to -# https://docs.readthedocs.io with more room for contents, but less room for the -# project logo, title, and description. If either GENERATE_TREEVIEW or -# DISABLE_INDEX is set to NO, this option has no effect. +# When GENERATE_TREEVIEW is set to YES, the PAGE_OUTLINE_PANEL option determines +# if an additional navigation panel is shown at the right hand side of the +# screen, displaying an outline of the contents of the main page, similar to +# e.g. https://developer.android.com/reference If GENERATE_TREEVIEW is set to +# NO, this option has no effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +PAGE_OUTLINE_PANEL = YES + +# When GENERATE_TREEVIEW is set to YES, the FULL_SIDEBAR option determines if +# the side bar is limited to only the treeview area (value NO) or if it should +# extend to the full height of the window (value YES). Setting this to YES gives +# a layout similar to e.g. https://docs.readthedocs.io with more room for +# contents, but less room for the project logo, title, and description. If +# GENERATE_TREEVIEW is set to NO, this option has no effect. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1856,7 +1900,7 @@ USE_MATHJAX = NO # regards to the different settings, so it is possible that also other MathJax # settings have to be changed when switching between the different MathJax # versions. -# Possible values are: MathJax_2 and MathJax_3. +# Possible values are: MathJax_2, MathJax_3 and MathJax_4. # The default value is: MathJax_2. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1865,9 +1909,10 @@ MATHJAX_VERSION = MathJax_2 # When MathJax is enabled you can set the default output format to be used for # the MathJax output. For more details about the output format see MathJax # version 2 (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# https://docs.mathjax.org/en/v2.7/output.html), MathJax version 3 (see: +# https://docs.mathjax.org/en/v3.2/output/index.html) and MathJax version 4 # (see: -# http://docs.mathjax.org/en/latest/web/components/output.html). +# https://docs.mathjax.org/en/v4.0/output/index.htm). # Possible values are: HTML-CSS (which is slower, but has the best # compatibility. This is the name for Mathjax version 2, for MathJax version 3 # this will be translated into chtml), NativeMML (i.e. MathML. Only supported @@ -1880,36 +1925,50 @@ MATHJAX_VERSION = MathJax_2 MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. The default value is: +# output directory using the MATHJAX_RELPATH option. For Mathjax version 2 the +# destination directory should contain the MathJax.js script. For instance, if +# the mathjax directory is located at the same level as the HTML output +# directory, then MATHJAX_RELPATH should be ../mathjax.s For Mathjax versions 3 +# and 4 the destination directory should contain the tex-.js script +# (where is either chtml or svg). The default value points to the +# MathJax Content Delivery Network so you can quickly see the result without +# installing MathJax. However, it is strongly recommended to install a local +# copy of MathJax from https://www.mathjax.org before deployment. The default +# value is: # - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 # - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 +# - in case of MathJax version 4: https://cdn.jsdelivr.net/npm/mathjax@4 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example -# for MathJax version 2 (see -# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): +# for MathJax version 2 (see https://docs.mathjax.org/en/v2.7/tex.html): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # For example for MathJax version 3 (see -# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# https://docs.mathjax.org/en/v3.2/input/tex/extensions/): # MATHJAX_EXTENSIONS = ams +# For example for MathJax version 4 (see +# https://docs.mathjax.org/en/v4.0/input/tex/extensions/): +# MATHJAX_EXTENSIONS = units +# Note that for Mathjax version 4 quite a few extensions are already +# automatically loaded. To disable a package in Mathjax version 4 one can use +# the package name prepended with a minus sign (- like MATHJAX_EXTENSIONS += +# -textmacros) # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with JavaScript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an -# example see the documentation. +# of code that will be used on startup of the MathJax code. See the Mathjax site +# for more details: +# - MathJax version 2 (see: +# https://docs.mathjax.org/en/v2.7/) +# - MathJax version 3 (see: +# https://docs.mathjax.org/en/v3.2/) +# - MathJax version 4 (see: +# https://docs.mathjax.org/en/v4.0/) For an example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = @@ -2570,7 +2629,7 @@ HAVE_DOT = YES # processors available in the system. You can set it explicitly to a value # larger than 0 to get control over the balance between CPU load and processing # speed. -# Minimum value: 0, maximum value: 32, default value: 0. +# Minimum value: 0, maximum value: 512, default value: 0. # This tag requires that the tag HAVE_DOT is set to YES. DOT_NUM_THREADS = 0 @@ -2672,6 +2731,15 @@ UML_LOOK = NO UML_LIMIT_NUM_FIELDS = 10 +# If the UML_LOOK tag is enabled, field labels are shown along the edge between +# two class nodes. If there are many fields and many nodes the graph may become +# too cluttered. The UML_MAX_EDGE_LABELS threshold limits the number of items to +# make the size more manageable. Set this to 0 for no limit. +# Minimum value: 0, maximum value: 100, default value: 10. +# This tag requires that the tag UML_LOOK is set to YES. + +UML_MAX_EDGE_LABELS = 10 + # If the DOT_UML_DETAILS tag is set to NO, Doxygen will show attributes and # methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS # tag is set to YES, Doxygen will add type and arguments for attributes and From 2f302f04210a4911b3b12ff51fd93a37bb137252 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 00:09:14 +0900 Subject: [PATCH 06/26] style: add spacing after static deserializer declarations #349 Updated spacing in multiple test files for consistency: - library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp - library/trie/test/src/test_tetengo.trie.memory_storage.cpp - library/trie/test/src/test_tetengo.trie.mmap_storage.cpp - library/trie/test/src/test_tetengo.trie.shared_storage.cpp - library/trie/test/src/test_tetengo.trie.trie.cpp - library/trie/test/src/test_tetengo.trie.value_serializer.cpp Also updated kogyan submodule and fixed minor indentation/formatting in Python installer scripts. For consistency with project coding standards. --- kogyan | 2 +- .../src/test_tetengo.lattice.vocabulary.cpp | 2 +- .../src/test_tetengo.trie.memory_storage.cpp | 6 +-- .../src/test_tetengo.trie.mmap_storage.cpp | 44 +++++++++---------- .../src/test_tetengo.trie.shared_storage.cpp | 4 +- .../trie/test/src/test_tetengo.trie.trie.cpp | 22 +++++----- .../test_tetengo.trie.value_serializer.cpp | 12 ++--- setup/installer/copy_libimage_files.py | 2 +- setup/installer/generate_content_wxs.py | 2 +- .../installer/generate_content_wxs_source.py | 2 +- tool/make_character_property_map.py | 2 +- tool/make_character_property_map_cpp.py | 2 +- 12 files changed, 48 insertions(+), 54 deletions(-) diff --git a/kogyan b/kogyan index 1b9e63d0..3ad2fced 160000 --- a/kogyan +++ b/kogyan @@ -1 +1 @@ -Subproject commit 1b9e63d0d05d3372df9f297d218fad1bfbd4b0fb +Subproject commit 3ad2fced96e2e168a7f9da9b0e4adcaf00f7d9ac diff --git a/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp b/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp index 78410b97..a78cba76 100644 --- a/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp @@ -51,7 +51,7 @@ namespace public: // constructors and destructors - concrete_vocabulary(){}; + concrete_vocabulary() {}; virtual ~concrete_vocabulary() = default; diff --git a/library/trie/test/src/test_tetengo.trie.memory_storage.cpp b/library/trie/test/src/test_tetengo.trie.memory_storage.cpp index c64eac2d..d8c020ac 100644 --- a/library/trie/test/src/test_tetengo.trie.memory_storage.cpp +++ b/library/trie/test/src/test_tetengo.trie.memory_storage.cpp @@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(construction) { const auto p_input_stream = create_input_stream(); const tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; const tetengo::trie::memory_storage storage_{ *p_input_stream, deserializer }; @@ -195,7 +195,7 @@ BOOST_AUTO_TEST_CASE(construction) { const auto p_input_stream = create_input_stream_fixed_value_size(); const tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::memory_storage storage_{ *p_input_stream, deserializer }; @@ -212,7 +212,7 @@ BOOST_AUTO_TEST_CASE(construction) const auto p_input_stream = create_broken_input_stream(); const tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; BOOST_CHECK_THROW( diff --git a/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp b/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp index 8e0c203a..a142b7c0 100644 --- a/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp +++ b/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp @@ -242,7 +242,7 @@ BOOST_AUTO_TEST_CASE(construction) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -258,7 +258,7 @@ BOOST_AUTO_TEST_CASE(construction) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; @@ -274,7 +274,7 @@ BOOST_AUTO_TEST_CASE(construction) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; BOOST_CHECK_THROW( @@ -292,7 +292,7 @@ BOOST_AUTO_TEST_CASE(construction) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; BOOST_CHECK_THROW( @@ -310,7 +310,7 @@ BOOST_AUTO_TEST_CASE(construction) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; BOOST_CHECK_THROW( @@ -404,7 +404,7 @@ BOOST_AUTO_TEST_CASE(base_check_size) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -422,7 +422,7 @@ BOOST_AUTO_TEST_CASE(base_check_size) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; @@ -486,7 +486,7 @@ BOOST_AUTO_TEST_CASE(base_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -505,7 +505,7 @@ BOOST_AUTO_TEST_CASE(base_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; @@ -621,7 +621,7 @@ BOOST_AUTO_TEST_CASE(set_base_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -685,7 +685,7 @@ BOOST_AUTO_TEST_CASE(check_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -704,7 +704,7 @@ BOOST_AUTO_TEST_CASE(check_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; @@ -801,7 +801,7 @@ BOOST_AUTO_TEST_CASE(set_check_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -847,7 +847,7 @@ BOOST_AUTO_TEST_CASE(value_count) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -865,7 +865,7 @@ BOOST_AUTO_TEST_CASE(value_count) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; @@ -929,7 +929,7 @@ BOOST_AUTO_TEST_CASE(value_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -954,7 +954,7 @@ BOOST_AUTO_TEST_CASE(value_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; @@ -1051,7 +1051,7 @@ BOOST_AUTO_TEST_CASE(add_value_at) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -1117,7 +1117,7 @@ BOOST_AUTO_TEST_CASE(filling_rate) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -1163,7 +1163,7 @@ BOOST_AUTO_TEST_CASE(serialize) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -1234,7 +1234,7 @@ BOOST_AUTO_TEST_CASE(clone) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 0, file_size, std::move(deserializer) }; @@ -1255,7 +1255,7 @@ BOOST_AUTO_TEST_CASE(clone) const boost::interprocess::file_mapping file_mapping{ file_path.c_str(), boost::interprocess::read_only }; const auto file_size = static_cast(std::filesystem::file_size(file_path)); tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializeruint32_deserializer{ false }; + static const tetengo::trie::default_deserializer uint32_deserializer{ false }; return uint32_deserializer(serialized); } }; const tetengo::trie::mmap_storage storage{ file_mapping, 5, file_size, std::move(deserializer) }; diff --git a/library/trie/test/src/test_tetengo.trie.shared_storage.cpp b/library/trie/test/src/test_tetengo.trie.shared_storage.cpp index 557e9ddc..9cee33ea 100644 --- a/library/trie/test/src/test_tetengo.trie.shared_storage.cpp +++ b/library/trie/test/src/test_tetengo.trie.shared_storage.cpp @@ -169,7 +169,7 @@ BOOST_AUTO_TEST_CASE(construction) { const auto p_input_stream = create_input_stream(); const tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; const tetengo::trie::shared_storage storage_{ *p_input_stream, deserializer }; @@ -186,7 +186,7 @@ BOOST_AUTO_TEST_CASE(construction) const auto p_input_stream = create_broken_input_stream(); const tetengo::trie::value_deserializer deserializer{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; BOOST_CHECK_THROW( diff --git a/library/trie/test/src/test_tetengo.trie.trie.cpp b/library/trie/test/src/test_tetengo.trie.trie.cpp index f7440e3e..93669ed1 100644 --- a/library/trie/test/src/test_tetengo.trie.trie.cpp +++ b/library/trie/test/src/test_tetengo.trie.trie.cpp @@ -270,12 +270,12 @@ BOOST_AUTO_TEST_CASE(construction) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::begin(content), std::end(content) }; } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; } @@ -288,7 +288,7 @@ BOOST_AUTO_TEST_CASE(construction) { auto p_input_stream = create_input_stream(); const tetengo::trie::value_deserializer value_deserializer_{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; auto p_storage = std::make_unique(*p_input_stream, value_deserializer_); @@ -297,7 +297,7 @@ BOOST_AUTO_TEST_CASE(construction) { auto p_input_stream = create_input_stream(); const tetengo::trie::value_deserializer value_deserializer_{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; auto p_storage = std::make_unique(*p_input_stream, value_deserializer_); @@ -503,7 +503,7 @@ BOOST_AUTO_TEST_CASE(empty) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; @@ -596,7 +596,7 @@ BOOST_AUTO_TEST_CASE(size) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; @@ -712,7 +712,7 @@ BOOST_AUTO_TEST_CASE(contains) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; @@ -848,7 +848,7 @@ BOOST_AUTO_TEST_CASE(find) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; @@ -971,7 +971,7 @@ BOOST_AUTO_TEST_CASE(begin_end) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; @@ -1124,7 +1124,7 @@ BOOST_AUTO_TEST_CASE(subtrie) } { std::vector> content{ { "Kumamoto", kumamoto1 }, - { "Tamana", tamana1 } }; + { "Tamana", tamana1 } }; const tetengo::trie::trie trie_{ std::make_move_iterator(std::begin(content)), std::make_move_iterator(std::end(content)) }; @@ -1249,7 +1249,7 @@ BOOST_AUTO_TEST_CASE(get_storage) { auto p_input_stream = create_input_stream(); const tetengo::trie::value_deserializer value_deserializer_{ [](const std::vector& serialized) { - static const tetengo::trie::default_deserializerstring_deserializer{ false }; + static const tetengo::trie::default_deserializer string_deserializer{ false }; return string_deserializer(std::string{ std::begin(serialized), std::end(serialized) }); } }; auto p_storage = std::make_unique(*p_input_stream, value_deserializer_); diff --git a/library/trie/test/src/test_tetengo.trie.value_serializer.cpp b/library/trie/test/src/test_tetengo.trie.value_serializer.cpp index fc31eab5..2041a332 100644 --- a/library/trie/test/src/test_tetengo.trie.value_serializer.cpp +++ b/library/trie/test/src/test_tetengo.trie.value_serializer.cpp @@ -33,9 +33,7 @@ BOOST_AUTO_TEST_CASE(construction) sizeof(int) }; } { - const tetengo::trie::value_serializer serializer{ [](const std::any&) { - return std::vector{ 3, 1, 4 }; - }, + const tetengo::trie::value_serializer serializer{ [](const std::any&) { return std::vector{ 3, 1, 4 }; }, 0 }; } } @@ -56,9 +54,7 @@ BOOST_AUTO_TEST_CASE(operator_paren) BOOST_TEST(serialized == expected); } { - const tetengo::trie::value_serializer serializer{ [](const std::any&) { - return std::vector{ 3, 1, 4 }; - }, + const tetengo::trie::value_serializer serializer{ [](const std::any&) { return std::vector{ 3, 1, 4 }; }, 0 }; const auto expected = std::vector{ 3, 1, 4 }; @@ -81,9 +77,7 @@ BOOST_AUTO_TEST_CASE(fixed_value_size) BOOST_TEST(serializer.fixed_value_size() == sizeof(int)); } { - const tetengo::trie::value_serializer serializer{ [](const std::any&) { - return std::vector{ 3, 1, 4 }; - }, + const tetengo::trie::value_serializer serializer{ [](const std::any&) { return std::vector{ 3, 1, 4 }; }, 0 }; BOOST_TEST(serializer.fixed_value_size() == 0U); diff --git a/setup/installer/copy_libimage_files.py b/setup/installer/copy_libimage_files.py index 3e719b13..d2ad71e0 100644 --- a/setup/installer/copy_libimage_files.py +++ b/setup/installer/copy_libimage_files.py @@ -1,7 +1,7 @@ #! /usr/bin/env python """Copies the files for a library image - Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ +Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ """ import re diff --git a/setup/installer/generate_content_wxs.py b/setup/installer/generate_content_wxs.py index 4e17f302..b403e200 100644 --- a/setup/installer/generate_content_wxs.py +++ b/setup/installer/generate_content_wxs.py @@ -1,7 +1,7 @@ #! /usr/bin/env python """Generates content.wxs source - Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ +Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ """ import io diff --git a/setup/installer/generate_content_wxs_source.py b/setup/installer/generate_content_wxs_source.py index 4de80d54..2e14b6b6 100644 --- a/setup/installer/generate_content_wxs_source.py +++ b/setup/installer/generate_content_wxs_source.py @@ -1,7 +1,7 @@ #! /usr/bin/env python """Generates content.wxs source - Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ +Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ """ import glob diff --git a/tool/make_character_property_map.py b/tool/make_character_property_map.py index c49cac76..ebb6f3d5 100644 --- a/tool/make_character_property_map.py +++ b/tool/make_character_property_map.py @@ -1,7 +1,7 @@ #! /usr/bin/env python """Makes character_property_map.txt for tetengo::text - Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ +Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ """ import re diff --git a/tool/make_character_property_map_cpp.py b/tool/make_character_property_map_cpp.py index 486afc0d..58a9752f 100644 --- a/tool/make_character_property_map_cpp.py +++ b/tool/make_character_property_map_cpp.py @@ -1,7 +1,7 @@ #! /usr/bin/env python """Makes character_property_map.txt for tetengo::text - Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ +Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ """ import sys From b714639b0d5e63ad100814390c42b5e373c6f6f0 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 00:23:13 +0900 Subject: [PATCH 07/26] chore: modernize the kogyan submodule as part of dependency updates #349 Modernize the kogyan submodule as part of dependency updates (#349) --- kogyan | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kogyan b/kogyan index 3ad2fced..3f4cd679 160000 --- a/kogyan +++ b/kogyan @@ -1 +1 @@ -Subproject commit 3ad2fced96e2e168a7f9da9b0e4adcaf00f7d9ac +Subproject commit 3f4cd679f4dac7b34be254ebc1125f08a799bfa9 From ad6fb0b4256ef2e86b9f6ad8ebb2cc70cf872b28 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 00:41:01 +0900 Subject: [PATCH 08/26] refactor: remove unused includes and add IWYU pragmas #349 Remove unnecessary #include directives throughout the codebase. Add IWYU pragma: keep comments to explicitly retained includes. Reorder includes for consistency. JSON: remove from channel.cpp; add file_location.hpp to json_parser.cpp Lattice: remove from C++ files and tests; reorder headers Property: remove from memory_storage.hpp; add includes where needed Text: remove , , , from tests; add IWYU pragmas Trie: remove from storage headers; add missing includes --- library/json/cpp/src/tetengo.json.channel.cpp | 1 - .../json/cpp/src/tetengo.json.json_parser.cpp | 1 + .../c/src/tetengo_lattice_nBestIterator.cpp | 1 - .../c/src/tetengo_lattice_vocabulary.cpp | 2 -- .../cpp/include/tetengo/lattice/path.hpp | 2 +- .../lattice/unordered_map_vocabulary.hpp | 6 ++---- .../cpp/include/tetengo/lattice/vocabulary.hpp | 3 +-- .../lattice/wildcard_constraint_element.hpp | 3 --- .../lattice/cpp/src/tetengo.lattice.path.cpp | 2 +- ...tetengo.lattice.unordered_map_vocabulary.cpp | 1 - .../cpp/src/tetengo.lattice.vocabulary.cpp | 2 +- .../src/test_tetengo.lattice.custom_input.cpp | 1 - .../test_tetengo.lattice.custom_vocabulary.cpp | 1 - .../test/src/test_tetengo.lattice.lattice.cpp | 1 - .../test_tetengo.lattice.n_best_iterator.cpp | 1 - .../src/test_tetengo.lattice.vocabulary.cpp | 1 - .../test/src/usage_tetengo.lattice.viterbi_c.c | 1 - .../src/usage_tetengo.lattice.viterbi_cpp.cpp | 1 + .../test_tetengo.platform_dependent.text_eX.cpp | 3 --- .../c/src/tetengo_property_propertySet.cpp | 1 + .../property/c/src/tetengo_property_storage.cpp | 1 + .../include/tetengo/property/memory_storage.hpp | 1 - .../include/tetengo/property/storage_proxy.hpp | 1 - .../cpp/src/tetengo.property.file_storage.cpp | 1 + .../cpp/src/tetengo.property.json_parser.cpp | 1 - .../src/test_tetengo.property.storage_proxy.cpp | 1 + library/text/c/src/tetengo_text_encoder.cpp | 1 - .../cpp/src/tetengo.text.encoding.cp932.cpp | 1 + .../cpp/src/tetengo.text.encoding.utf16.cpp | 1 + ...rapheme_splitting.default_character_widX.cpp | 1 - ...rapheme_splitting.east_asian_character_X.cpp | 1 - .../text/test/src/test_tetengo.text.encoder.cpp | 2 -- .../src/test_tetengo.text.encoding.cp932.cpp | 3 --- .../src/test_tetengo.text.grapheme_splitter.cpp | 1 - .../usage_tetengo.text.grapheme_split_cpp.cpp | 1 - library/trie/c/src/tetengo_trie_trie.cpp | 1 + library/trie/c/src/tetengo_trie_trie.hpp | 1 + .../trie/c/src/tetengo_trie_trieIterator.cpp | 4 ++++ .../cpp/include/tetengo/trie/double_array.hpp | 5 ++--- .../cpp/include/tetengo/trie/memory_storage.hpp | 2 -- .../cpp/include/tetengo/trie/mmap_storage.hpp | 1 - .../cpp/include/tetengo/trie/shared_storage.hpp | 2 -- library/trie/cpp/include/tetengo/trie/trie.hpp | 17 ++++++++++------- .../src/tetengo.trie.double_array_builder.hpp | 1 + .../src/tetengo.trie.double_array_iterator.cpp | 1 - .../trie/cpp/src/tetengo.trie.mmap_storage.cpp | 2 +- .../test/src/test_tetengo.trie.mmap_storage.cpp | 2 +- .../test/src/usage_tetengo.trie.search_cpp.cpp | 1 + sample/transfer_trains/src/main.cpp | 1 + sample/transfer_trains/src/timetable.cpp | 2 ++ 50 files changed, 39 insertions(+), 57 deletions(-) diff --git a/library/json/cpp/src/tetengo.json.channel.cpp b/library/json/cpp/src/tetengo.json.channel.cpp index 991466fc..ccccf863 100644 --- a/library/json/cpp/src/tetengo.json.channel.cpp +++ b/library/json/cpp/src/tetengo.json.channel.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include diff --git a/library/json/cpp/src/tetengo.json.json_parser.cpp b/library/json/cpp/src/tetengo.json.json_parser.cpp index b4bf8885..3d6019de 100644 --- a/library/json/cpp/src/tetengo.json.json_parser.cpp +++ b/library/json/cpp/src/tetengo.json.json_parser.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include diff --git a/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp b/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp index c88d3d57..f5c6733a 100644 --- a/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp +++ b/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp @@ -4,7 +4,6 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ -#include #include #include #include diff --git a/library/lattice/c/src/tetengo_lattice_vocabulary.cpp b/library/lattice/c/src/tetengo_lattice_vocabulary.cpp index a843cfd1..38b92bc7 100644 --- a/library/lattice/c/src/tetengo_lattice_vocabulary.cpp +++ b/library/lattice/c/src/tetengo_lattice_vocabulary.cpp @@ -4,7 +4,6 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ -#include #include #include #include @@ -29,7 +28,6 @@ #include #include #include -#include #include #include #include diff --git a/library/lattice/cpp/include/tetengo/lattice/path.hpp b/library/lattice/cpp/include/tetengo/lattice/path.hpp index 1d04a68b..cea0db5d 100644 --- a/library/lattice/cpp/include/tetengo/lattice/path.hpp +++ b/library/lattice/cpp/include/tetengo/lattice/path.hpp @@ -9,7 +9,7 @@ #include -#include +#include // IWYU pragma: keep namespace tetengo::lattice diff --git a/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp b/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp index 9bb5644e..54ec6ca7 100644 --- a/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp +++ b/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp @@ -14,15 +14,13 @@ #include #include -#include #include namespace tetengo::lattice { - class connection; - class input; - class node; + class entry; + class entry_view; /*! diff --git a/library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp b/library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp index 5689734d..217559be 100644 --- a/library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp +++ b/library/lattice/cpp/include/tetengo/lattice/vocabulary.hpp @@ -11,12 +11,11 @@ #include -#include - namespace tetengo::lattice { class connection; + class entry_view; class input; class node; diff --git a/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp b/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp index 71cfd0cb..0fd514a0 100644 --- a/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp +++ b/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp @@ -15,9 +15,6 @@ namespace tetengo::lattice { - class node; - - /*! \brief A wildcard constraint element. */ diff --git a/library/lattice/cpp/src/tetengo.lattice.path.cpp b/library/lattice/cpp/src/tetengo.lattice.path.cpp index 4ad1103b..e1d4843c 100644 --- a/library/lattice/cpp/src/tetengo.lattice.path.cpp +++ b/library/lattice/cpp/src/tetengo.lattice.path.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include // IWYU pragma: keep #include diff --git a/library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp b/library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp index ca324840..4007e262 100644 --- a/library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp +++ b/library/lattice/cpp/src/tetengo.lattice.unordered_map_vocabulary.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include diff --git a/library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp b/library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp index 65b0b7ae..1e312a5c 100644 --- a/library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp +++ b/library/lattice/cpp/src/tetengo.lattice.vocabulary.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include // IWYU pragma: keep #include diff --git a/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp b/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp index 2707d80d..63481520 100644 --- a/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp @@ -4,7 +4,6 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ -#include #include #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp b/library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp index d20a437b..8b2995f2 100644 --- a/library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.custom_vocabulary.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.lattice.cpp b/library/lattice/test/src/test_tetengo.lattice.lattice.cpp index bc73d624..1e6e90ab 100644 --- a/library/lattice/test/src/test_tetengo.lattice.lattice.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.lattice.cpp @@ -4,7 +4,6 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ -#include #include #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp b/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp index 54c8309f..ce549058 100644 --- a/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp @@ -4,7 +4,6 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ -#include #include #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp b/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp index a78cba76..5f5e6c85 100644 --- a/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.vocabulary.cpp @@ -8,7 +8,6 @@ #include #include #include -#include #include #include diff --git a/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c b/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c index 76a9718f..0e7ac9db 100644 --- a/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c +++ b/library/lattice/test/src/usage_tetengo.lattice.viterbi_c.c @@ -21,7 +21,6 @@ #include #include #include -#include #include diff --git a/library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp b/library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp index c4a39a46..266716c7 100644 --- a/library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp +++ b/library/lattice/test/src/usage_tetengo.lattice.viterbi_cpp.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp b/library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp index 079de7d2..b629c17f 100644 --- a/library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp +++ b/library/platform_dependent/test/src/test_tetengo.platform_dependent.text_eX.cpp @@ -5,11 +5,8 @@ */ #include -#include #include -#include #include -#include #include #include diff --git a/library/property/c/src/tetengo_property_propertySet.cpp b/library/property/c/src/tetengo_property_propertySet.cpp index 90581839..8295c48d 100644 --- a/library/property/c/src/tetengo_property_propertySet.cpp +++ b/library/property/c/src/tetengo_property_propertySet.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include diff --git a/library/property/c/src/tetengo_property_storage.cpp b/library/property/c/src/tetengo_property_storage.cpp index 08e41319..7443c375 100644 --- a/library/property/c/src/tetengo_property_storage.cpp +++ b/library/property/c/src/tetengo_property_storage.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/library/property/cpp/include/tetengo/property/memory_storage.hpp b/library/property/cpp/include/tetengo/property/memory_storage.hpp index dfe60cfd..109bc436 100644 --- a/library/property/cpp/include/tetengo/property/memory_storage.hpp +++ b/library/property/cpp/include/tetengo/property/memory_storage.hpp @@ -7,7 +7,6 @@ #if !defined(TETENGO_PROPERTY_MEMORYSTORAGE_HPP) #define TETENGO_PROPERTY_MEMORYSTORAGE_HPP -#include #include #include diff --git a/library/property/cpp/include/tetengo/property/storage_proxy.hpp b/library/property/cpp/include/tetengo/property/storage_proxy.hpp index 66763f00..323fd116 100644 --- a/library/property/cpp/include/tetengo/property/storage_proxy.hpp +++ b/library/property/cpp/include/tetengo/property/storage_proxy.hpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include diff --git a/library/property/cpp/src/tetengo.property.file_storage.cpp b/library/property/cpp/src/tetengo.property.file_storage.cpp index 6753d45e..49d36c18 100644 --- a/library/property/cpp/src/tetengo.property.file_storage.cpp +++ b/library/property/cpp/src/tetengo.property.file_storage.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include diff --git a/library/property/cpp/src/tetengo.property.json_parser.cpp b/library/property/cpp/src/tetengo.property.json_parser.cpp index d01dfd9f..17705cfb 100644 --- a/library/property/cpp/src/tetengo.property.json_parser.cpp +++ b/library/property/cpp/src/tetengo.property.json_parser.cpp @@ -14,7 +14,6 @@ #include #include #include -#include #include #include diff --git a/library/property/test/src/test_tetengo.property.storage_proxy.cpp b/library/property/test/src/test_tetengo.property.storage_proxy.cpp index 968f2e3c..11b1fe61 100644 --- a/library/property/test/src/test_tetengo.property.storage_proxy.cpp +++ b/library/property/test/src/test_tetengo.property.storage_proxy.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include #include diff --git a/library/text/c/src/tetengo_text_encoder.cpp b/library/text/c/src/tetengo_text_encoder.cpp index 3daa5467..4d8bf0ef 100644 --- a/library/text/c/src/tetengo_text_encoder.cpp +++ b/library/text/c/src/tetengo_text_encoder.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include diff --git a/library/text/cpp/src/tetengo.text.encoding.cp932.cpp b/library/text/cpp/src/tetengo.text.encoding.cp932.cpp index be02eaf5..1a6a7439 100644 --- a/library/text/cpp/src/tetengo.text.encoding.cp932.cpp +++ b/library/text/cpp/src/tetengo.text.encoding.cp932.cpp @@ -5,6 +5,7 @@ */ #include +#include #include diff --git a/library/text/cpp/src/tetengo.text.encoding.utf16.cpp b/library/text/cpp/src/tetengo.text.encoding.utf16.cpp index 0d4434a1..6a0d3636 100644 --- a/library/text/cpp/src/tetengo.text.encoding.utf16.cpp +++ b/library/text/cpp/src/tetengo.text.encoding.utf16.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include diff --git a/library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp b/library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp index b719bd3e..259a4739 100644 --- a/library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp +++ b/library/text/cpp/src/tetengo.text.grapheme_splitting.default_character_widX.cpp @@ -9,7 +9,6 @@ #include -#include #include diff --git a/library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp b/library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp index fe5d4621..5b27b712 100644 --- a/library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp +++ b/library/text/cpp/src/tetengo.text.grapheme_splitting.east_asian_character_X.cpp @@ -9,7 +9,6 @@ #include -#include #include diff --git a/library/text/test/src/test_tetengo.text.encoder.cpp b/library/text/test/src/test_tetengo.text.encoder.cpp index 6488d24e..c4cb5653 100644 --- a/library/text/test/src/test_tetengo.text.encoder.cpp +++ b/library/text/test/src/test_tetengo.text.encoder.cpp @@ -5,9 +5,7 @@ */ #include -#include #include -#include #include #include #include diff --git a/library/text/test/src/test_tetengo.text.encoding.cp932.cpp b/library/text/test/src/test_tetengo.text.encoding.cp932.cpp index d284bc6a..a8aa3bd9 100644 --- a/library/text/test/src/test_tetengo.text.encoding.cp932.cpp +++ b/library/text/test/src/test_tetengo.text.encoding.cp932.cpp @@ -5,11 +5,8 @@ */ #include -#include #include -#include #include -#include #include #include diff --git a/library/text/test/src/test_tetengo.text.grapheme_splitter.cpp b/library/text/test/src/test_tetengo.text.grapheme_splitter.cpp index 5957e6ed..80ad50af 100644 --- a/library/text/test/src/test_tetengo.text.grapheme_splitter.cpp +++ b/library/text/test/src/test_tetengo.text.grapheme_splitter.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include diff --git a/library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp b/library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp index 08204f65..2b5002a6 100644 --- a/library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp +++ b/library/text/test/src/usage_tetengo.text.grapheme_split_cpp.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include diff --git a/library/trie/c/src/tetengo_trie_trie.cpp b/library/trie/c/src/tetengo_trie_trie.cpp index 280c3e08..8bbca115 100644 --- a/library/trie/c/src/tetengo_trie_trie.cpp +++ b/library/trie/c/src/tetengo_trie_trie.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include diff --git a/library/trie/c/src/tetengo_trie_trie.hpp b/library/trie/c/src/tetengo_trie_trie.hpp index bd423868..d3e35b4a 100644 --- a/library/trie/c/src/tetengo_trie_trie.hpp +++ b/library/trie/c/src/tetengo_trie_trie.hpp @@ -15,6 +15,7 @@ #include #include +#include // IWYU pragma: keep #include #include "tetengo_trie_storage.hpp" diff --git a/library/trie/c/src/tetengo_trie_trieIterator.cpp b/library/trie/c/src/tetengo_trie_trieIterator.cpp index c6dd1c7c..ecac7c6f 100644 --- a/library/trie/c/src/tetengo_trie_trieIterator.cpp +++ b/library/trie/c/src/tetengo_trie_trieIterator.cpp @@ -9,6 +9,8 @@ #include #include +#include + #include // IWYU pragma: keep #include @@ -17,6 +19,8 @@ #include #include +#include + #include "tetengo_trie_trie.hpp" diff --git a/library/trie/cpp/include/tetengo/trie/double_array.hpp b/library/trie/cpp/include/tetengo/trie/double_array.hpp index 97539c7c..83ebac84 100644 --- a/library/trie/cpp/include/tetengo/trie/double_array.hpp +++ b/library/trie/cpp/include/tetengo/trie/double_array.hpp @@ -19,11 +19,10 @@ #include -#include - - namespace tetengo::trie { + class double_array_iterator; + class storage; diff --git a/library/trie/cpp/include/tetengo/trie/memory_storage.hpp b/library/trie/cpp/include/tetengo/trie/memory_storage.hpp index 67540c86..dca766ca 100644 --- a/library/trie/cpp/include/tetengo/trie/memory_storage.hpp +++ b/library/trie/cpp/include/tetengo/trie/memory_storage.hpp @@ -7,7 +7,6 @@ #if !defined(TETENGO_TRIE_MEMORYSTORAGE_HPP) #define TETENGO_TRIE_MEMORYSTORAGE_HPP -#include #include // IWYU pragma: keep #include #include @@ -19,7 +18,6 @@ namespace tetengo::trie { class value_deserializer; - class value_serializer; /*! diff --git a/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp b/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp index 03e48c74..b3f7071d 100644 --- a/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp +++ b/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp @@ -7,7 +7,6 @@ #if !defined(TETENGO_TRIE_MMAPSTORAGE_HPP) #define TETENGO_TRIE_MMAPSTORAGE_HPP -#include #include // IWYU pragma: keep #include #include diff --git a/library/trie/cpp/include/tetengo/trie/shared_storage.hpp b/library/trie/cpp/include/tetengo/trie/shared_storage.hpp index 03f9dcdd..36d115e9 100644 --- a/library/trie/cpp/include/tetengo/trie/shared_storage.hpp +++ b/library/trie/cpp/include/tetengo/trie/shared_storage.hpp @@ -7,7 +7,6 @@ #if !defined(TETENGO_TRIE_SHAREDSTORAGE_HPP) #define TETENGO_TRIE_SHAREDSTORAGE_HPP -#include #include // IWYU pragma: keep #include #include @@ -19,7 +18,6 @@ namespace tetengo::trie { class value_deserializer; - class value_serializer; /*! diff --git a/library/trie/cpp/include/tetengo/trie/trie.hpp b/library/trie/cpp/include/tetengo/trie/trie.hpp index 0a3b5520..68c2e15a 100644 --- a/library/trie/cpp/include/tetengo/trie/trie.hpp +++ b/library/trie/cpp/include/tetengo/trie/trie.hpp @@ -22,12 +22,15 @@ #include -#include +#include // IWYU pragma: keep #include namespace tetengo::trie { + template + class default_serializer; + class double_array; class storage; @@ -220,7 +223,7 @@ namespace tetengo::trie \tparam Value A value type. \tparam KeySerializer A key serializer type. */ - template > + template > class trie : private boost::noncopyable { public: @@ -272,7 +275,7 @@ namespace tetengo::trie \param key_serializer A key serializer. */ - explicit trie(const key_serializer_type& key_serializer = default_serializer{ true }) : + explicit trie(const key_serializer_type& key_serializer = default_serializer{ true }) : m_impl{}, m_key_serializer{ key_serializer } {} @@ -287,7 +290,7 @@ namespace tetengo::trie */ explicit trie( std::initializer_list> elements, - const key_serializer_type& key_serializer = default_serializer{ true }, + const key_serializer_type& key_serializer = default_serializer{ true }, const building_observer_set_type& building_observer_set = null_building_observer_set(), std::size_t double_array_density_factor = default_double_array_density_factor()) : m_impl{ serialize_key(std::begin(elements), std::end(elements), key_serializer), @@ -311,7 +314,7 @@ namespace tetengo::trie trie( InputIterator first, InputIterator last, - const key_serializer_type& key_serializer = default_serializer{ true }, + const key_serializer_type& key_serializer = default_serializer{ true }, const building_observer_set_type& building_observer_set = null_building_observer_set(), std::size_t double_array_density_factor = default_double_array_density_factor()) : m_impl{ serialize_key(first, last, key_serializer), building_observer_set, double_array_density_factor }, @@ -333,7 +336,7 @@ namespace tetengo::trie trie( std::move_iterator first, std::move_iterator last, - const key_serializer_type& key_serializer = default_serializer{ true }, + const key_serializer_type& key_serializer = default_serializer{ true }, const building_observer_set_type& building_observer_set = null_building_observer_set(), std::size_t double_array_density_factor = default_double_array_density_factor()) : m_impl{ serialize_key(first, last, key_serializer), building_observer_set, double_array_density_factor }, @@ -348,7 +351,7 @@ namespace tetengo::trie */ explicit trie( std::unique_ptr&& p_storage, - const key_serializer_type& key_serializer = default_serializer{ true }) : + const key_serializer_type& key_serializer = default_serializer{ true }) : m_impl{ std::move(p_storage) }, m_key_serializer{ key_serializer } {} diff --git a/library/trie/cpp/src/tetengo.trie.double_array_builder.hpp b/library/trie/cpp/src/tetengo.trie.double_array_builder.hpp index c8b88500..e8eec807 100644 --- a/library/trie/cpp/src/tetengo.trie.double_array_builder.hpp +++ b/library/trie/cpp/src/tetengo.trie.double_array_builder.hpp @@ -11,6 +11,7 @@ #include #include +#include // IWYU pragma: keep #include #include #include diff --git a/library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp b/library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp index 4938d85e..86bb800f 100644 --- a/library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp +++ b/library/trie/cpp/src/tetengo.trie.double_array_iterator.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include #include #include diff --git a/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp b/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp index 96e53ab1..eb1b937b 100644 --- a/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp +++ b/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -22,6 +21,7 @@ #include #include #include +#include #include #include diff --git a/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp b/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp index a142b7c0..1e67c1cd 100644 --- a/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp +++ b/library/trie/test/src/test_tetengo.trie.mmap_storage.cpp @@ -11,9 +11,9 @@ #include #include #include -#include #include #include +#include #include #include #include diff --git a/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp b/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp index 5947286d..144d944a 100644 --- a/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp +++ b/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include // IWYU pragma: keep diff --git a/sample/transfer_trains/src/main.cpp b/sample/transfer_trains/src/main.cpp index 6a820fcf..2c34c1d9 100644 --- a/sample/transfer_trains/src/main.cpp +++ b/sample/transfer_trains/src/main.cpp @@ -25,6 +25,7 @@ #include #include +#include #include #include // IWYU pragma: keep #include diff --git a/sample/transfer_trains/src/timetable.cpp b/sample/transfer_trains/src/timetable.cpp index cd77d6c4..18c11972 100644 --- a/sample/transfer_trains/src/timetable.cpp +++ b/sample/transfer_trains/src/timetable.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -21,6 +22,7 @@ #include #include +#include #include #include From 2eabe75d585a6f576cf4981695aa6c6bec29f4e8 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 00:46:23 +0900 Subject: [PATCH 09/26] fix: reorder includes for IWYU compliance #349 #349 Moved include after C headers in storage_proxy test and reordered Boost headers in trie files. Update kogyan submodule and minor include adjustments in trie iterator. Modernize dependencies per #349. --- kogyan | 2 +- .../property/test/src/test_tetengo.property.storage_proxy.cpp | 2 +- library/trie/c/src/tetengo_trie_trie.cpp | 3 ++- library/trie/c/src/tetengo_trie_trie.hpp | 2 +- library/trie/c/src/tetengo_trie_trieIterator.cpp | 4 +--- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/kogyan b/kogyan index 3f4cd679..90eb6897 160000 --- a/kogyan +++ b/kogyan @@ -1 +1 @@ -Subproject commit 3f4cd679f4dac7b34be254ebc1125f08a799bfa9 +Subproject commit 90eb68976a6ecc690cc783a68588fc86c7cb434a diff --git a/library/property/test/src/test_tetengo.property.storage_proxy.cpp b/library/property/test/src/test_tetengo.property.storage_proxy.cpp index 11b1fe61..e50f4880 100644 --- a/library/property/test/src/test_tetengo.property.storage_proxy.cpp +++ b/library/property/test/src/test_tetengo.property.storage_proxy.cpp @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -20,7 +21,6 @@ #include #include -#include #include #include #include diff --git a/library/trie/c/src/tetengo_trie_trie.cpp b/library/trie/c/src/tetengo_trie_trie.cpp index 8bbca115..6b96f872 100644 --- a/library/trie/c/src/tetengo_trie_trie.cpp +++ b/library/trie/c/src/tetengo_trie_trie.cpp @@ -5,7 +5,6 @@ */ #include -#include #include #include #include @@ -17,6 +16,8 @@ #include +#include + #include #include #include diff --git a/library/trie/c/src/tetengo_trie_trie.hpp b/library/trie/c/src/tetengo_trie_trie.hpp index d3e35b4a..3dec0cd4 100644 --- a/library/trie/c/src/tetengo_trie_trie.hpp +++ b/library/trie/c/src/tetengo_trie_trie.hpp @@ -14,8 +14,8 @@ #include -#include #include // IWYU pragma: keep +#include #include #include "tetengo_trie_storage.hpp" diff --git a/library/trie/c/src/tetengo_trie_trieIterator.cpp b/library/trie/c/src/tetengo_trie_trieIterator.cpp index ecac7c6f..009911a4 100644 --- a/library/trie/c/src/tetengo_trie_trieIterator.cpp +++ b/library/trie/c/src/tetengo_trie_trieIterator.cpp @@ -8,9 +8,9 @@ #include #include #include +#include #include - #include // IWYU pragma: keep #include @@ -19,8 +19,6 @@ #include #include -#include - #include "tetengo_trie_trie.hpp" From ea21e1ab83b0d042b4b539f43f7ece4de0343477 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 00:59:37 +0900 Subject: [PATCH 10/26] docs: update build requirements to modern versions #349 Updated Visual Studio to 2026, WiX to 7.0.0, Python to 3.12, and Doxygen to 1.16.1 for Windows. Updated Doxygen to 1.16.1 and Python to 3.12 for Linux. Simplified include-what-you-use and Clang Format entries to latest versions. Updated copyright year range to 2019-2026. --- README.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 6bae9ee0..04ad67c6 100644 --- a/README.md +++ b/README.md @@ -81,13 +81,12 @@ How to Build and Install #### Requirements -- [Visual Studio 2022](https://visualstudio.microsoft.com/) +- [Visual Studio 2026](https://visualstudio.microsoft.com/) - [Boost C++ libraries 1.91.0](https://www.boost.org/) -- [Doxygen 1.13.2](https://www.doxygen.nl/) +- [Doxygen 1.16.1](https://www.doxygen.nl/) - [Graphviz](https://www.graphviz.org/) -- [WiX toolset 6.0.0](https://wixtoolset.org/) -- [Python 3.9](https://www.python.org/) or - [Python 3.10](https://www.python.org/) +- [WiX toolset 7.0.0](https://wixtoolset.org/) +- [Python 3.12](https://www.python.org/) - [mypy](http://www.mypy-lang.org/) - [Black](https://black.readthedocs.io/en/stable/) - [isort](https://pycqa.github.io/isort/) @@ -141,14 +140,12 @@ Doxygen will output the documents into the directory `doc`. - [Clang 18](https://clang.llvm.org/) or [GCC 14](https://gcc.gnu.org/) - [Boost C++ libraries 1.91.0](https://www.boost.org/) -- [Doxygen 1.13.2](https://www.doxygen.nl/) +- [Doxygen 1.16.1](https://www.doxygen.nl/) - [Graphviz](https://www.graphviz.org/) -- [include-what-you-use 0.15](https://include-what-you-use.org/) or - [include-what-you-use 0.17](https://include-what-you-use.org/) -- [Clang Format 11](https://clang.llvm.org/docs/ClangFormat.html) +- [include-what-you-use](https://include-what-you-use.org/) +- [Clang Format](https://clang.llvm.org/docs/ClangFormat.html) - [Dos2Unix](https://waterlan.home.xs4all.nl/dos2unix.html) -- [Python 3.9](https://www.python.org/) or - [Python 3.10](https://www.python.org/) +- [Python 3.12](https://www.python.org/) - [mypy](http://www.mypy-lang.org/) - [Black](https://black.readthedocs.io/en/stable/) - [isort](https://pycqa.github.io/isort/) From c435cb3bc2ce22682c0f2a0cf2e6c4bc29f00c93 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 01:12:47 +0900 Subject: [PATCH 11/26] ci: upgrade toolchains and dependencies #349 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upgrade to modern toolchains and libraries for improved compatibility and performance. Linux-Clang: - Ubuntu 22.04 → 24.04 - Clang 14 → 18 - Doxygen 1.13.2 → 1.16.1 - Boost 1.88.0 → 1.91.0 Linux-GCC: - Ubuntu 22.04 → 24.04 - GCC 12 → 14 - Boost 1.88.0 → 1.91.0 Windows-VisualCpp: - windows-2022 → windows-2025-vs2026 - Boost 1.88.0 → 1.91.0 (msvc-14.3 → msvc-14.5) - WiX 6.0.0 → 7.0.0 --- .github/workflows/linux-clang.yml | 35 ++++++++++----------- .github/workflows/linux-gcc.yml | 22 ++++++------- .github/workflows/windows-visualcpp.yml | 41 +++++++++++++------------ 3 files changed, 48 insertions(+), 50 deletions(-) diff --git a/.github/workflows/linux-clang.yml b/.github/workflows/linux-clang.yml index 53a92e51..d3205bf3 100644 --- a/.github/workflows/linux-clang.yml +++ b/.github/workflows/linux-clang.yml @@ -14,20 +14,20 @@ on: env: CONCURRENT_BUILD: 4 - CLANG_COMMAND: clang-14 - CLANGXX_COMMAND: clang++-14 - DOXYGEN_VER: 1.13.2 + CLANG_COMMAND: clang-18 + CLANGXX_COMMAND: clang++-18 + DOXYGEN_VER: 1.16.1 DOXYGEN_CACHE_REV: 0 - BOOST_VER: 1_88_0 - BOOST_VER_DOT: 1.88.0 + BOOST_VER: 1_91_0 + BOOST_VER_DOT: 1.91.0 BOOST_BOOTSTRAP_TOOLSET: clang - BOOST_TOOLSET: clang-14 + BOOST_TOOLSET: clang-18 BOOST_CACHE_REV: 0 jobs: doxygen_build: name: Doxygen Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Install dependencies shell: bash @@ -65,14 +65,14 @@ jobs: boost_build: name: Boost Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Install dependencies shell: bash run: | sudo apt-get -y update sudo apt-get -y install \ - clang-14 + clang-18 - name: Cache Boost build uses: actions/cache@v4 @@ -99,7 +99,7 @@ jobs: doxygen: name: Doxygen - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: doxygen_build steps: - name: Install dependencies @@ -108,8 +108,7 @@ jobs: sudo apt-get -y update sudo apt-get -y install \ autoconf-archive \ - clang-13 \ - clang-14 \ + clang-18 \ dos2unix \ graphviz \ iwyu @@ -157,7 +156,7 @@ jobs: lint: name: Lint - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: boost_build steps: - name: Install dependencies @@ -166,8 +165,7 @@ jobs: sudo apt-get -y update sudo apt-get -y install \ autoconf-archive \ - clang-13 \ - clang-14 \ + clang-18 \ dos2unix \ graphviz \ iwyu @@ -209,7 +207,7 @@ jobs: build: name: Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: boost_build steps: - name: Install dependencies @@ -218,8 +216,7 @@ jobs: sudo apt-get -y update sudo apt-get -y install \ autoconf-archive \ - clang-13 \ - clang-14 \ + clang-18 \ dos2unix \ graphviz \ iwyu @@ -274,7 +271,7 @@ jobs: artifact: name: Artifact Collection - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: [ doxygen, build ] steps: - name: Restore documents diff --git a/.github/workflows/linux-gcc.yml b/.github/workflows/linux-gcc.yml index 1268cb05..3c3c05b6 100644 --- a/.github/workflows/linux-gcc.yml +++ b/.github/workflows/linux-gcc.yml @@ -14,26 +14,26 @@ on: env: CONCURRENT_BUILD: 4 - GCC_COMMAND: gcc-12 - GXX_COMMAND: g++-12 - BOOST_VER: 1_88_0 - BOOST_VER_DOT: 1.88.0 + GCC_COMMAND: gcc-14 + GXX_COMMAND: g++-14 + BOOST_VER: 1_91_0 + BOOST_VER_DOT: 1.91.0 BOOST_BOOTSTRAP_TOOLSET: gcc - BOOST_TOOLSET: gcc-12 + BOOST_TOOLSET: gcc-14 BOOST_CACHE_REV: 0 jobs: boost_build: name: Boost Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Install dependencies shell: bash run: | sudo apt-get -y update sudo apt-get -y install \ - gcc-12 \ - g++-12 + gcc-14 \ + g++-14 - name: Cache Boost build uses: actions/cache@v4 @@ -60,7 +60,7 @@ jobs: build: name: Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 needs: boost_build steps: - name: Install dependencies @@ -69,8 +69,8 @@ jobs: sudo apt-get -y update sudo apt-get -y install \ autoconf-archive \ - gcc-12 \ - g++-12 + gcc-14 \ + g++-14 - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/windows-visualcpp.yml b/.github/workflows/windows-visualcpp.yml index 6809cd9a..a5155d81 100644 --- a/.github/workflows/windows-visualcpp.yml +++ b/.github/workflows/windows-visualcpp.yml @@ -15,16 +15,17 @@ on: env: TETENGO_VER: 1.9.0 CONCURRENT_BUILD: 4 - BOOST_VER: 1_88_0 - BOOST_VER_DOT: 1.88.0 - BOOST_TOOLSET: msvc-14.3 + BOOST_VER: 1_91_0 + BOOST_VER_DOT: 1.91.0 + BOOST_TOOLSET: msvc-14.5 BOOST_CACHE_REV: 0 + WIX_VER: 7.0.0 EMBEDTRANSFORM_CACHE_REV: 0 jobs: boost_download: name: Boost Download - runs-on: windows-2022 + runs-on: windows-2025-vs2026 steps: - name: Cache Boost source uses: actions/cache@v4 @@ -43,7 +44,7 @@ jobs: boost_build_for_release_win32: name: Boost Buld for Release Win32 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_download steps: - name: Add msbuild to PATH @@ -75,7 +76,7 @@ jobs: boost_build_for_debug_win32: name: Boost Buld for Debug Win32 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_download steps: - name: Add msbuild to PATH @@ -107,7 +108,7 @@ jobs: boost_build_for_release_x64: name: Boost Buld for Release x64 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_download steps: - name: Add msbuild to PATH @@ -139,7 +140,7 @@ jobs: boost_build_for_debug_x64: name: Boost Buld for Debug x64 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_download steps: - name: Add msbuild to PATH @@ -171,7 +172,7 @@ jobs: build_for_release_win32: name: Build for Release Win32 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_build_for_release_win32 steps: - name: Add msbuild to PATH @@ -209,7 +210,7 @@ jobs: build_for_debug_win32: name: Build for Debug Win32 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_build_for_debug_win32 steps: - name: Add msbuild to PATH @@ -247,7 +248,7 @@ jobs: build_for_release_x64: name: Build for Release x64 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_build_for_release_x64 steps: - name: Add msbuild to PATH @@ -285,7 +286,7 @@ jobs: build_for_debug_x64: name: Build for Debug x64 - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: boost_build_for_debug_x64 steps: - name: Add msbuild to PATH @@ -323,7 +324,7 @@ jobs: embedtransform_download: name: EmbedTransform Download - runs-on: windows-2022 + runs-on: windows-2025-vs2026 steps: - name: Cache embedtransform uses: actions/cache@v4 @@ -346,8 +347,8 @@ jobs: archive_for_win32: name: Setup and Archive Build for Win32 - runs-on: windows-2022 - needs: [ boost_build_for_release_Win32, embedtransform_download, build_for_release_Win32, build_for_debug_Win32, build_for_release_x64, build_for_debug_x64 ] + runs-on: windows-2025-vs2026 + needs: [ boost_build_for_release_win32, embedtransform_download, build_for_release_win32, build_for_debug_win32, build_for_release_x64, build_for_debug_x64 ] steps: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 @@ -355,8 +356,8 @@ jobs: - name: Install WiX shell: cmd run: | - dotnet tool install --global wix --version 6.0.0 - wix extension add --global WixToolset.UI.wixext/6.0.0 + dotnet tool install --global wix --version ${{ env.WIX_VER }} + wix extension add --global WixToolset.UI.wixext/${{ env.WIX_VER }} - name: Checkout uses: actions/checkout@v4 @@ -420,8 +421,8 @@ jobs: archive_for_x64: name: Setup and Archive Build for x64 - runs-on: windows-2022 - needs: [ boost_build_for_release_x64, embedtransform_download, build_for_release_Win32, build_for_debug_Win32, build_for_release_x64, build_for_debug_x64 ] + runs-on: windows-2025-vs2026 + needs: [ boost_build_for_release_x64, embedtransform_download, build_for_release_win32, build_for_debug_win32, build_for_release_x64, build_for_debug_x64 ] steps: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v2 @@ -497,7 +498,7 @@ jobs: artifact: name: Artifact Collection - runs-on: windows-2022 + runs-on: windows-2025-vs2026 needs: [ archive_for_win32, archive_for_x64 ] steps: - name: Restore archive for Win32 From 301234552707bfbf7f422b825c760f51aba6f02b Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 01:26:43 +0900 Subject: [PATCH 12/26] ci: use tetengo.slnx and tetengo.setup.slnx in Windows Visual C++ workflow #349 Update msbuild commands in GitHub Actions workflow, Makefile.am EXTRA_DIST, README.md instructions, and nmake Makefile to reference tetengo.slnx and tetengo.setup.slnx instead of .sln files. Add wix7 EULA acceptance flags to WiX commands for WiX 7.0.0 compatibility. --- .github/workflows/windows-visualcpp.yml | 12 ++++++------ Makefile.am | 4 ++-- README.md | 4 ++-- setup/installer/Makefile.nmake | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/windows-visualcpp.yml b/.github/workflows/windows-visualcpp.yml index a5155d81..98237661 100644 --- a/.github/workflows/windows-visualcpp.yml +++ b/.github/workflows/windows-visualcpp.yml @@ -200,7 +200,7 @@ jobs: run: | set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} set BOOST_LIB_x86=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\Win32\lib - msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.sln + msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.slnx for /r %%f in (*.pch) do del /f /q %%f for /r %%f in (*.sbr) do del /f /q %%f for /r %%f in (*.bsc) do del /f /q %%f @@ -238,7 +238,7 @@ jobs: run: | set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} set BOOST_LIB_x86=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\Win32\lib - msbuild /t:Rebuild /m:1 /p:Configuration=Debug;Platform=x86 tetengo.sln + msbuild /t:Rebuild /m:1 /p:Configuration=Debug;Platform=x86 tetengo.slnx for /r %%f in (*.pch) do del /f /q %%f for /r %%f in (*.sbr) do del /f /q %%f for /r %%f in (*.bsc) do del /f /q %%f @@ -276,7 +276,7 @@ jobs: run: | set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} set BOOST_LIB_x64=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\x64\lib - msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.sln + msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.slnx for /r %%f in (*.pch) do del /f /q %%f for /r %%f in (*.sbr) do del /f /q %%f for /r %%f in (*.bsc) do del /f /q %%f @@ -314,7 +314,7 @@ jobs: run: | set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} set BOOST_LIB_x64=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\x64\lib - msbuild /t:Rebuild /m:1 /p:Configuration=Debug;Platform=x64 tetengo.sln + msbuild /t:Rebuild /m:1 /p:Configuration=Debug;Platform=x64 tetengo.slnx for /r %%f in (*.pch) do del /f /q %%f for /r %%f in (*.sbr) do del /f /q %%f for /r %%f in (*.bsc) do del /f /q %%f @@ -406,7 +406,7 @@ jobs: set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} set BOOST_LIB_x86=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\Win32\lib set EMBEDTRANSFORMDIR=${{ github.workspace }}\.EmbedTransform\EmbedTransform\ - msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.setup.sln + msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.setup.slnx - name: Cache archive uses: actions/cache@v4 @@ -480,7 +480,7 @@ jobs: set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} set BOOST_LIB_x64=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\x64\lib set EMBEDTRANSFORMDIR=${{ github.workspace }}\.EmbedTransform\EmbedTransform\ - msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.setup.sln + msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.setup.slnx - name: Cache archive uses: actions/cache@v4 diff --git a/Makefile.am b/Makefile.am index b1230457..314089c4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,8 +27,8 @@ EXTRA_DIST = \ ${data_files} \ bootstrap.sh \ Doxyfile \ - tetengo.sln \ - tetengo.setup.sln + tetengo.slnx \ + tetengo.setup.slnx nobase_pkgdata_DATA = \ diff --git a/README.md b/README.md index 04ad67c6..1552d303 100644 --- a/README.md +++ b/README.md @@ -111,13 +111,13 @@ Clone the source files from GitHub: > git clone --recurse-submodules https://github.com/tetengo/tetengo.cpp.git ``` -Open the file `tetengo.sln` in the work tree. +Open the file `tetengo.slnx` in the work tree. Execute the menu command [Build]-[Build Solution] in Visual Studio. #### Building setup -Open the file `tetengo.setup.sln` in the work tree, and execute the menu +Open the file `tetengo.setup.slnx` in the work tree, and execute the menu command [Build]-[Build Solution] in Visual Studio. `setup.exe` and `tetengo.msi` will be created under the `bin.setup` folder in diff --git a/setup/installer/Makefile.nmake b/setup/installer/Makefile.nmake index 0a6c5dd8..547c9cbe 100644 --- a/setup/installer/Makefile.nmake +++ b/setup/installer/Makefile.nmake @@ -33,21 +33,21 @@ $(BINDIR)\tetengo.msi: $(OBJDIR)\tetengo.en.msi $(OBJDIR)\ja.mst $(COPY) /y $(OBJDIR)\tetengo.msi $@ $(OBJDIR)\ja.mst: $(OBJDIR)\tetengo.en.msi $(OBJDIR)\tetengo.ja.msi - $(WIXCOMMAND) msi transform -out $@ -p -t language $** + $(WIXCOMMAND) msi -acceptEula wix7 transform -out $@ -p -t language $** $(OBJDIR)\tetengo.en.msi: $(WORKDIR)\main.wxs $(OBJDIR)\content.wxs set WORKDIR=$(WORKDIR) set PLATFORM=$(PLATFORM) set LANGUAGE=1033 set CODEPAGE=1252 - $(WIXCOMMAND) build -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture en-US $** + $(WIXCOMMAND) build -acceptEula wix7 -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture en-US $** $(OBJDIR)\tetengo.ja.msi: $(WORKDIR)\main.wxs $(OBJDIR)\content.wxs set WORKDIR=$(WORKDIR) set PLATFORM=$(PLATFORM) set LANGUAGE=1041 set CODEPAGE=932 - $(WIXCOMMAND) build -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture ja-JP $** + $(WIXCOMMAND) build -acceptEula wix7 -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture ja-JP $** $(OBJDIR)\content.wxs: $(OBJDIR)\content_wxs_source.txt $(PYTHON) "$(WORKDIR)\generate_content_wxs.py" $** $@ From d8812e4382e48fe6a2d7bb9e8ea71192e72703a5 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 01:30:51 +0900 Subject: [PATCH 13/26] ci: upgrade GitHub Actions cache action to v5 #349 Updated all actions/cache@v4 to actions/cache@v5 across Linux Clang, Linux GCC, and Windows Visual C++ workflows. Improved cache reliability and performance with latest cache action version. --- .github/workflows/linux-clang.yml | 18 +++---- .github/workflows/linux-gcc.yml | 4 +- .github/workflows/windows-visualcpp.yml | 68 ++++++++++++------------- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.github/workflows/linux-clang.yml b/.github/workflows/linux-clang.yml index d3205bf3..ce538132 100644 --- a/.github/workflows/linux-clang.yml +++ b/.github/workflows/linux-clang.yml @@ -42,7 +42,7 @@ jobs: fi - name: Cache Doxygen build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .doxygen_build key: Linux-Clang-Doxygen-${{ env.DOXYGEN_VER }}-${{ env.DOXYGEN_CACHE_REV }} @@ -75,7 +75,7 @@ jobs: clang-18 - name: Cache Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build key: Linux-Clang-Boost-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -119,7 +119,7 @@ jobs: submodules: recursive - name: Restore Doxygen build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .doxygen_build key: Linux-Clang-Doxygen-${{ env.DOXYGEN_VER }}-${{ env.DOXYGEN_CACHE_REV }} @@ -143,7 +143,7 @@ jobs: ../configure $DISTCHECK_CONFIGURE_FLAGS - name: Cache documents - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .doxygen/doc key: Linux-Clang-documents-${{ github.run_number }} @@ -176,7 +176,7 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build key: Linux-Clang-Boost-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -227,7 +227,7 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build key: Linux-Clang-Boost-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -251,7 +251,7 @@ jobs: ../configure $DISTCHECK_CONFIGURE_FLAGS - name: Cache archives - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .build/tetengo-* key: Linux-Clang-archives-${{ github.run_number }} @@ -275,13 +275,13 @@ jobs: needs: [ doxygen, build ] steps: - name: Restore documents - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .doxygen/doc key: Linux-Clang-documents-${{ github.run_number }} - name: Restore archives - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .build/tetengo-* key: Linux-Clang-archives-${{ github.run_number }} diff --git a/.github/workflows/linux-gcc.yml b/.github/workflows/linux-gcc.yml index 3c3c05b6..9f0bfea9 100644 --- a/.github/workflows/linux-gcc.yml +++ b/.github/workflows/linux-gcc.yml @@ -36,7 +36,7 @@ jobs: g++-14 - name: Cache Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build key: Linux-GCC-Boost-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -78,7 +78,7 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build key: Linux-GCC-Boost-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} diff --git a/.github/workflows/windows-visualcpp.yml b/.github/workflows/windows-visualcpp.yml index 98237661..1afdf30a 100644 --- a/.github/workflows/windows-visualcpp.yml +++ b/.github/workflows/windows-visualcpp.yml @@ -28,7 +28,7 @@ jobs: runs-on: windows-2025-vs2026 steps: - name: Cache Boost source - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -51,13 +51,13 @@ jobs: uses: microsoft/setup-msbuild@v2 - name: Restore Boost source - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-release-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -83,13 +83,13 @@ jobs: uses: microsoft/setup-msbuild@v2 - name: Restore Boost source - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-debug-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -115,13 +115,13 @@ jobs: uses: microsoft/setup-msbuild@v2 - name: Restore Boost source - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-release-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -147,13 +147,13 @@ jobs: uses: microsoft/setup-msbuild@v2 - name: Restore Boost source - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-debug-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} @@ -184,13 +184,13 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-release-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache product - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Release.Win32 key: Windows-VisualCpp-product-release-Win32-${{ github.run_number }} @@ -222,13 +222,13 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-debug-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache product - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Debug.Win32 key: Windows-VisualCpp-product-debug-Win32-${{ github.run_number }} @@ -260,13 +260,13 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-release-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache product - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Release.x64 key: Windows-VisualCpp-product-release-x64-${{ github.run_number }} @@ -298,13 +298,13 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-debug-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Cache product - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Debug.x64 key: Windows-VisualCpp-product-debug-x64-${{ github.run_number }} @@ -327,7 +327,7 @@ jobs: runs-on: windows-2025-vs2026 steps: - name: Cache embedtransform - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .EmbedTransform key: Windows-VisualCpp-EmbedTransform-${{ env.EMBEDTRANSFORM_CACHE_REV }} @@ -365,37 +365,37 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-release-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Restore embedtransform - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .EmbedTransform key: Windows-VisualCpp-EmbedTransform-${{ env.EMBEDTRANSFORM_CACHE_REV }} - name: Restore product for Release Win32 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Release.Win32 key: Windows-VisualCpp-product-release-Win32-${{ github.run_number }} - name: Restore product for Debug Win32 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Debug.Win32 key: Windows-VisualCpp-product-debug-Win32-${{ github.run_number }} - name: Restore product for Release x64 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Release.x64 key: Windows-VisualCpp-product-release-x64-${{ github.run_number }} - name: Restore product for Debug x64 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Debug.x64 key: Windows-VisualCpp-product-debug-x64-${{ github.run_number }} @@ -409,7 +409,7 @@ jobs: msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.setup.slnx - name: Cache archive - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin.setup\tetengo-windows-Win32-${{ env.TETENGO_VER }}.zip key: Windows-VisualCpp-archive-Win32-${{ github.run_number }} @@ -439,37 +439,37 @@ jobs: submodules: recursive - name: Restore Boost build - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .boost_build\boost_${{ env.BOOST_VER }} key: Windows-VisualCpp-Boost-release-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} - name: Restore embedtransform - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .EmbedTransform key: Windows-VisualCpp-EmbedTransform-${{ env.EMBEDTRANSFORM_CACHE_REV }} - name: Restore product for Release Win32 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Release.Win32 key: Windows-VisualCpp-product-release-Win32-${{ github.run_number }} - name: Restore product for Debug Win32 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Debug.Win32 key: Windows-VisualCpp-product-debug-Win32-${{ github.run_number }} - name: Restore product for Release x64 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Release.x64 key: Windows-VisualCpp-product-release-x64-${{ github.run_number }} - name: Restore product for Debug x64 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin\Debug.x64 key: Windows-VisualCpp-product-debug-x64-${{ github.run_number }} @@ -483,7 +483,7 @@ jobs: msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.setup.slnx - name: Cache archive - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: | bin.setup\tetengo-windows-x64-${{ env.TETENGO_VER }}.zip @@ -502,13 +502,13 @@ jobs: needs: [ archive_for_win32, archive_for_x64 ] steps: - name: Restore archive for Win32 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: bin.setup\tetengo-windows-Win32-${{ env.TETENGO_VER }}.zip key: Windows-VisualCpp-archive-Win32-${{ github.run_number }} - name: Restore archive for x64 - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: | bin.setup\tetengo-windows-x64-${{ env.TETENGO_VER }}.zip From c54aa9d863cc0649bdd50e7a0f660eead96d2299 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 02:02:02 +0900 Subject: [PATCH 14/26] style: add IWYU pragmas to Boost headers #349 Add IWYU pragma comments to retained Boost headers across trie library and sample code. Maintains include-what-you-use compliance while preserving necessary Boost headers for modern dependency support. --- library/trie/c/src/tetengo_trie_trie.cpp | 2 +- library/trie/c/src/tetengo_trie_trieIterator.cpp | 2 +- library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | 2 +- sample/transfer_trains/src/main.cpp | 2 +- sample/transfer_trains/src/timetable.cpp | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/library/trie/c/src/tetengo_trie_trie.cpp b/library/trie/c/src/tetengo_trie_trie.cpp index 6b96f872..886df148 100644 --- a/library/trie/c/src/tetengo_trie_trie.cpp +++ b/library/trie/c/src/tetengo_trie_trie.cpp @@ -16,7 +16,7 @@ #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/trie/c/src/tetengo_trie_trieIterator.cpp b/library/trie/c/src/tetengo_trie_trieIterator.cpp index 009911a4..8c867937 100644 --- a/library/trie/c/src/tetengo_trie_trieIterator.cpp +++ b/library/trie/c/src/tetengo_trie_trieIterator.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include // IWYU pragma: keep #include // IWYU pragma: keep #include diff --git a/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp b/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp index eb1b937b..260b4d0e 100644 --- a/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp +++ b/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/sample/transfer_trains/src/main.cpp b/sample/transfer_trains/src/main.cpp index 2c34c1d9..9070da78 100644 --- a/sample/transfer_trains/src/main.cpp +++ b/sample/transfer_trains/src/main.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include // IWYU pragma: keep #include #include // IWYU pragma: keep #include diff --git a/sample/transfer_trains/src/timetable.cpp b/sample/transfer_trains/src/timetable.cpp index 18c11972..134975fd 100644 --- a/sample/transfer_trains/src/timetable.cpp +++ b/sample/transfer_trains/src/timetable.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include // IWYU pragma: keep #include #include From 2d015abadffe082f31fd2ac14021129819fcc8a4 Mon Sep 17 00:00:00 2001 From: kaoru Date: Mon, 27 Apr 2026 23:37:09 +0900 Subject: [PATCH 15/26] style: add IWYU pragma keep comments #349 Added IWYU pragma: keep comments to explicitly retained headers across multiple files including json, lattice, property, text, and trie libraries. Updated include paths for consistency. Added missing IWYU pragma keep includes for forward declarations in lattice and trie headers. --- library/json/c/src/tetengo_json_reader.cpp | 2 +- library/json/cpp/src/tetengo.json.json_parser.cpp | 2 +- library/lattice/c/src/tetengo_lattice_input.cpp | 2 +- library/lattice/c/src/tetengo_lattice_nBestIterator.cpp | 1 + library/lattice/c/src/tetengo_lattice_vocabulary.cpp | 1 + .../cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp | 3 +++ .../include/tetengo/lattice/wildcard_constraint_element.hpp | 3 +++ library/lattice/test/src/test_tetengo.lattice.constraint.cpp | 2 +- .../test/src/test_tetengo.lattice.constraint_element.cpp | 2 +- library/lattice/test/src/test_tetengo.lattice.lattice.cpp | 3 ++- .../test/src/test_tetengo.lattice.node_constraint_element.cpp | 2 +- library/lattice/test/src/test_tetengo.lattice.path.cpp | 2 +- .../src/test_tetengo.lattice.wildcard_constraint_element.cpp | 2 +- .../property/cpp/include/tetengo/property/memory_storage.hpp | 1 + .../property/cpp/include/tetengo/property/storage_proxy.hpp | 1 + library/property/cpp/src/tetengo.property.file_storage.cpp | 2 +- library/property/cpp/src/tetengo.property.json_parser.cpp | 1 + .../property/test/src/test_tetengo.property.memory_storage.cpp | 2 +- .../property/test/src/test_tetengo.property.property_set.cpp | 2 +- library/property/test/src/test_tetengo.property.storage.cpp | 2 +- library/text/c/src/tetengo_text_encoder.cpp | 2 +- library/text/cpp/src/tetengo.text.encoding.cp932.cpp | 2 +- library/trie/cpp/include/tetengo/trie/memory_storage.hpp | 2 ++ library/trie/cpp/include/tetengo/trie/mmap_storage.hpp | 1 + library/trie/cpp/include/tetengo/trie/shared_storage.hpp | 2 ++ library/trie/test/src/usage_tetengo.trie.search_cpp.cpp | 2 +- sample/transfer_trains/src/timetable.cpp | 2 +- 27 files changed, 34 insertions(+), 17 deletions(-) diff --git a/library/json/c/src/tetengo_json_reader.cpp b/library/json/c/src/tetengo_json_reader.cpp index 4f4f7d5f..f1692505 100644 --- a/library/json/c/src/tetengo_json_reader.cpp +++ b/library/json/c/src/tetengo_json_reader.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/json/cpp/src/tetengo.json.json_parser.cpp b/library/json/cpp/src/tetengo.json.json_parser.cpp index 3d6019de..c7e8cd6e 100644 --- a/library/json/cpp/src/tetengo.json.json_parser.cpp +++ b/library/json/cpp/src/tetengo.json.json_parser.cpp @@ -23,7 +23,7 @@ #include #include #include -#include +#include "tetengo/json/file_location.hpp" // IWYU pragma: keep #include #include #include diff --git a/library/lattice/c/src/tetengo_lattice_input.cpp b/library/lattice/c/src/tetengo_lattice_input.cpp index 1a810a6c..ec76376a 100644 --- a/library/lattice/c/src/tetengo_lattice_input.cpp +++ b/library/lattice/c/src/tetengo_lattice_input.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp b/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp index f5c6733a..8ef326c4 100644 --- a/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp +++ b/library/lattice/c/src/tetengo_lattice_nBestIterator.cpp @@ -4,6 +4,7 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ +#include // IWYU pragma: keep #include #include #include diff --git a/library/lattice/c/src/tetengo_lattice_vocabulary.cpp b/library/lattice/c/src/tetengo_lattice_vocabulary.cpp index 38b92bc7..674e601d 100644 --- a/library/lattice/c/src/tetengo_lattice_vocabulary.cpp +++ b/library/lattice/c/src/tetengo_lattice_vocabulary.cpp @@ -4,6 +4,7 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ +#include // IWYU pragma: keep #include #include #include diff --git a/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp b/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp index 54ec6ca7..bd9edcfb 100644 --- a/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp +++ b/library/lattice/cpp/include/tetengo/lattice/unordered_map_vocabulary.hpp @@ -19,8 +19,11 @@ namespace tetengo::lattice { + class connection; // IWYU pragma: keep class entry; class entry_view; + class input; // IWYU pragma: keep + class node; // IWYU pragma: keep /*! diff --git a/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp b/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp index 0fd514a0..87d84de2 100644 --- a/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp +++ b/library/lattice/cpp/include/tetengo/lattice/wildcard_constraint_element.hpp @@ -15,6 +15,9 @@ namespace tetengo::lattice { + class node; // IWYU pragma: keep + + /*! \brief A wildcard constraint element. */ diff --git a/library/lattice/test/src/test_tetengo.lattice.constraint.cpp b/library/lattice/test/src/test_tetengo.lattice.constraint.cpp index d440274c..f05302c2 100644 --- a/library/lattice/test/src/test_tetengo.lattice.constraint.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.constraint.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp b/library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp index 57c2a9c1..793508db 100644 --- a/library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.constraint_element.cpp @@ -5,7 +5,7 @@ */ #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.lattice.cpp b/library/lattice/test/src/test_tetengo.lattice.lattice.cpp index 1e6e90ab..5fafcf5e 100644 --- a/library/lattice/test/src/test_tetengo.lattice.lattice.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.lattice.cpp @@ -4,13 +4,14 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ +#include // IWYU pragma: keep #include #include #include #include #include #include -#include +#include // IWYU pragma: keep #include // IWYU pragma: keep #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp b/library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp index 0a415193..cd41325d 100644 --- a/library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.node_constraint_element.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.path.cpp b/library/lattice/test/src/test_tetengo.lattice.path.cpp index a28875e0..e11bd22c 100644 --- a/library/lattice/test/src/test_tetengo.lattice.path.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.path.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp b/library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp index 65188a64..ba48d241 100644 --- a/library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.wildcard_constraint_element.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/property/cpp/include/tetengo/property/memory_storage.hpp b/library/property/cpp/include/tetengo/property/memory_storage.hpp index 109bc436..80083090 100644 --- a/library/property/cpp/include/tetengo/property/memory_storage.hpp +++ b/library/property/cpp/include/tetengo/property/memory_storage.hpp @@ -7,6 +7,7 @@ #if !defined(TETENGO_PROPERTY_MEMORYSTORAGE_HPP) #define TETENGO_PROPERTY_MEMORYSTORAGE_HPP +#include // IWYU pragma: keep #include #include diff --git a/library/property/cpp/include/tetengo/property/storage_proxy.hpp b/library/property/cpp/include/tetengo/property/storage_proxy.hpp index 323fd116..770db35a 100644 --- a/library/property/cpp/include/tetengo/property/storage_proxy.hpp +++ b/library/property/cpp/include/tetengo/property/storage_proxy.hpp @@ -10,6 +10,7 @@ #include #include #include +#include // IWYU pragma: keep #include #include diff --git a/library/property/cpp/src/tetengo.property.file_storage.cpp b/library/property/cpp/src/tetengo.property.file_storage.cpp index 49d36c18..535a89af 100644 --- a/library/property/cpp/src/tetengo.property.file_storage.cpp +++ b/library/property/cpp/src/tetengo.property.file_storage.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/property/cpp/src/tetengo.property.json_parser.cpp b/library/property/cpp/src/tetengo.property.json_parser.cpp index 17705cfb..eb9b2bb6 100644 --- a/library/property/cpp/src/tetengo.property.json_parser.cpp +++ b/library/property/cpp/src/tetengo.property.json_parser.cpp @@ -16,6 +16,7 @@ #include #include #include +#include // IWYU pragma: keep #include diff --git a/library/property/test/src/test_tetengo.property.memory_storage.cpp b/library/property/test/src/test_tetengo.property.memory_storage.cpp index cff4ef3f..3e49d900 100644 --- a/library/property/test/src/test_tetengo.property.memory_storage.cpp +++ b/library/property/test/src/test_tetengo.property.memory_storage.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/property/test/src/test_tetengo.property.property_set.cpp b/library/property/test/src/test_tetengo.property.property_set.cpp index 3eb5e44d..541d3f37 100644 --- a/library/property/test/src/test_tetengo.property.property_set.cpp +++ b/library/property/test/src/test_tetengo.property.property_set.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/library/property/test/src/test_tetengo.property.storage.cpp b/library/property/test/src/test_tetengo.property.storage.cpp index d6fe8630..fb58742b 100644 --- a/library/property/test/src/test_tetengo.property.storage.cpp +++ b/library/property/test/src/test_tetengo.property.storage.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/library/text/c/src/tetengo_text_encoder.cpp b/library/text/c/src/tetengo_text_encoder.cpp index 4d8bf0ef..e74e4237 100644 --- a/library/text/c/src/tetengo_text_encoder.cpp +++ b/library/text/c/src/tetengo_text_encoder.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/library/text/cpp/src/tetengo.text.encoding.cp932.cpp b/library/text/cpp/src/tetengo.text.encoding.cp932.cpp index 1a6a7439..4f4292a6 100644 --- a/library/text/cpp/src/tetengo.text.encoding.cp932.cpp +++ b/library/text/cpp/src/tetengo.text.encoding.cp932.cpp @@ -5,7 +5,7 @@ */ #include -#include +#include // IWYU pragma: keep #include diff --git a/library/trie/cpp/include/tetengo/trie/memory_storage.hpp b/library/trie/cpp/include/tetengo/trie/memory_storage.hpp index dca766ca..ddf47846 100644 --- a/library/trie/cpp/include/tetengo/trie/memory_storage.hpp +++ b/library/trie/cpp/include/tetengo/trie/memory_storage.hpp @@ -7,6 +7,7 @@ #if !defined(TETENGO_TRIE_MEMORYSTORAGE_HPP) #define TETENGO_TRIE_MEMORYSTORAGE_HPP +#include // IWYU pragma: keep #include // IWYU pragma: keep #include #include @@ -18,6 +19,7 @@ namespace tetengo::trie { class value_deserializer; + class value_serializer; // IWYU pragma: keep /*! diff --git a/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp b/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp index b3f7071d..f3f322ed 100644 --- a/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp +++ b/library/trie/cpp/include/tetengo/trie/mmap_storage.hpp @@ -7,6 +7,7 @@ #if !defined(TETENGO_TRIE_MMAPSTORAGE_HPP) #define TETENGO_TRIE_MMAPSTORAGE_HPP +#include // IWYU pragma: keep #include // IWYU pragma: keep #include #include diff --git a/library/trie/cpp/include/tetengo/trie/shared_storage.hpp b/library/trie/cpp/include/tetengo/trie/shared_storage.hpp index 36d115e9..5efaebee 100644 --- a/library/trie/cpp/include/tetengo/trie/shared_storage.hpp +++ b/library/trie/cpp/include/tetengo/trie/shared_storage.hpp @@ -7,6 +7,7 @@ #if !defined(TETENGO_TRIE_SHAREDSTORAGE_HPP) #define TETENGO_TRIE_SHAREDSTORAGE_HPP +#include // IWYU pragma: keep #include // IWYU pragma: keep #include #include @@ -18,6 +19,7 @@ namespace tetengo::trie { class value_deserializer; + class value_serializer; // IWYU pragma: keep /*! diff --git a/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp b/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp index 144d944a..8b5d1900 100644 --- a/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp +++ b/library/trie/test/src/usage_tetengo.trie.search_cpp.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include // IWYU pragma: keep diff --git a/sample/transfer_trains/src/timetable.cpp b/sample/transfer_trains/src/timetable.cpp index 134975fd..3b64c410 100644 --- a/sample/transfer_trains/src/timetable.cpp +++ b/sample/transfer_trains/src/timetable.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include #include From 20c73fafd8246035c1cf80d83d83aeca95e2bd7b Mon Sep 17 00:00:00 2001 From: kaoru Date: Tue, 28 Apr 2026 00:00:23 +0900 Subject: [PATCH 16/26] style: add IWYU pragmas and include algorithm #349 Modernize dependencies per #349. Include with IWYU pragma: keep in lattice test files and trie header to support std::accumulate, std::next, std::make_move_iterator, and other algorithms. Add IWYU pragma to existing default_serializer forward declaration. --- library/lattice/test/src/test_tetengo.lattice.custom_input.cpp | 1 + .../lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | 1 + library/trie/cpp/include/tetengo/trie/trie.hpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp b/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp index 63481520..95c473fa 100644 --- a/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.custom_input.cpp @@ -4,6 +4,7 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ +#include // IWYU pragma: keep #include #include #include diff --git a/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp b/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp index ce549058..0bf39adb 100644 --- a/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp @@ -5,6 +5,7 @@ */ #include +#include // IWYU pragma: keep #include #include #include diff --git a/library/trie/cpp/include/tetengo/trie/trie.hpp b/library/trie/cpp/include/tetengo/trie/trie.hpp index 68c2e15a..3370b0b2 100644 --- a/library/trie/cpp/include/tetengo/trie/trie.hpp +++ b/library/trie/cpp/include/tetengo/trie/trie.hpp @@ -29,7 +29,7 @@ namespace tetengo::trie { template - class default_serializer; + class default_serializer; // IWYU pragma: keep class double_array; class storage; From 2ffef2feb8fb3a2a36b6362a2f582685875a75e4 Mon Sep 17 00:00:00 2001 From: kaoru Date: Tue, 28 Apr 2026 00:49:21 +0900 Subject: [PATCH 17/26] ci: upgrade GitHub Actions to latest versions #349 Update checkout from v4 to v6, upload-artifact from v4 to v7, and setup-msbuild from v2 to v3 across Linux Clang, Linux GCC, and Windows Visual C++ workflows. Supports modernization of CI dependencies for improved reliability and security. --- .github/workflows/linux-clang.yml | 8 +++--- .github/workflows/linux-gcc.yml | 2 +- .github/workflows/windows-visualcpp.yml | 34 ++++++++++++------------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/linux-clang.yml b/.github/workflows/linux-clang.yml index ce538132..8475143e 100644 --- a/.github/workflows/linux-clang.yml +++ b/.github/workflows/linux-clang.yml @@ -114,7 +114,7 @@ jobs: iwyu - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -171,7 +171,7 @@ jobs: iwyu - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -222,7 +222,7 @@ jobs: iwyu - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -294,7 +294,7 @@ jobs: mv .build/tetengo-* artifacts - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: artifacts-linux path: artifacts diff --git a/.github/workflows/linux-gcc.yml b/.github/workflows/linux-gcc.yml index 9f0bfea9..85ea2ad4 100644 --- a/.github/workflows/linux-gcc.yml +++ b/.github/workflows/linux-gcc.yml @@ -73,7 +73,7 @@ jobs: g++-14 - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive diff --git a/.github/workflows/windows-visualcpp.yml b/.github/workflows/windows-visualcpp.yml index 1afdf30a..71213d0e 100644 --- a/.github/workflows/windows-visualcpp.yml +++ b/.github/workflows/windows-visualcpp.yml @@ -48,7 +48,7 @@ jobs: needs: boost_download steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Restore Boost source uses: actions/cache@v5 @@ -80,7 +80,7 @@ jobs: needs: boost_download steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Restore Boost source uses: actions/cache@v5 @@ -112,7 +112,7 @@ jobs: needs: boost_download steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Restore Boost source uses: actions/cache@v5 @@ -144,7 +144,7 @@ jobs: needs: boost_download steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Restore Boost source uses: actions/cache@v5 @@ -176,10 +176,10 @@ jobs: needs: boost_build_for_release_win32 steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -214,10 +214,10 @@ jobs: needs: boost_build_for_debug_win32 steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -252,10 +252,10 @@ jobs: needs: boost_build_for_release_x64 steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -290,10 +290,10 @@ jobs: needs: boost_build_for_debug_x64 steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -351,7 +351,7 @@ jobs: needs: [ boost_build_for_release_win32, embedtransform_download, build_for_release_win32, build_for_debug_win32, build_for_release_x64, build_for_debug_x64 ] steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Install WiX shell: cmd @@ -360,7 +360,7 @@ jobs: wix extension add --global WixToolset.UI.wixext/${{ env.WIX_VER }} - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -425,7 +425,7 @@ jobs: needs: [ boost_build_for_release_x64, embedtransform_download, build_for_release_win32, build_for_debug_win32, build_for_release_x64, build_for_debug_x64 ] steps: - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v2 + uses: microsoft/setup-msbuild@v3 - name: Install WiX shell: cmd @@ -434,7 +434,7 @@ jobs: wix extension add --global WixToolset.UI.wixext/6.0.0 - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -524,7 +524,7 @@ jobs: move bin.libimage\tetengo-windows-libimage-x64-${{ env.TETENGO_VER }}.zip artifacts - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: artifacts-windows path: artifacts From 7b54aad78e1bfb624f017e7467bc0798369c785d Mon Sep 17 00:00:00 2001 From: kaoru Date: Tue, 28 Apr 2026 01:01:34 +0900 Subject: [PATCH 18/26] ci: use configurable WiX version and accept EULA #349 Use environment variable ${{ env.WIX_VER }} instead of hardcoded version in WiX installation steps for both Win32 and x64 archive jobs. Add WIX_OSMF_EULA_AGREEMENT: 1 environment variable to automatically accept the EULA during WiX installation. Improves consistency and maintainability by centralizing WiX version management. --- .github/workflows/windows-visualcpp.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows-visualcpp.yml b/.github/workflows/windows-visualcpp.yml index 71213d0e..4e903ceb 100644 --- a/.github/workflows/windows-visualcpp.yml +++ b/.github/workflows/windows-visualcpp.yml @@ -358,6 +358,8 @@ jobs: run: | dotnet tool install --global wix --version ${{ env.WIX_VER }} wix extension add --global WixToolset.UI.wixext/${{ env.WIX_VER }} + env: + WIX_OSMF_EULA_AGREEMENT: 1 - name: Checkout uses: actions/checkout@v6 @@ -430,8 +432,10 @@ jobs: - name: Install WiX shell: cmd run: | - dotnet tool install --global wix --version 6.0.0 - wix extension add --global WixToolset.UI.wixext/6.0.0 + dotnet tool install --global wix --version ${{ env.WIX_VER }} + wix extension add --global WixToolset.UI.wixext/${{ env.WIX_VER }} + env: + WIX_OSMF_EULA_AGREEMENT: 1 - name: Checkout uses: actions/checkout@v6 From 51a3433f2c34a4b0b2e0780681ec348779686f42 Mon Sep 17 00:00:00 2001 From: kaoru Date: Tue, 28 Apr 2026 01:17:30 +0900 Subject: [PATCH 19/26] ci: accept WiX 7 EULA explicitly in Windows Visual C++ workflow #349 Replaces deprecated WIX_OSMF_EULA_AGREEMENT environment variable with explicit wix eula accept wix7 command in archive jobs for Win32 and x64. Supports WiX 7.0.0 modernization (#349). --- .github/workflows/windows-visualcpp.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows-visualcpp.yml b/.github/workflows/windows-visualcpp.yml index 4e903ceb..441771be 100644 --- a/.github/workflows/windows-visualcpp.yml +++ b/.github/workflows/windows-visualcpp.yml @@ -357,9 +357,8 @@ jobs: shell: cmd run: | dotnet tool install --global wix --version ${{ env.WIX_VER }} + wix eula accept wix7 wix extension add --global WixToolset.UI.wixext/${{ env.WIX_VER }} - env: - WIX_OSMF_EULA_AGREEMENT: 1 - name: Checkout uses: actions/checkout@v6 @@ -433,9 +432,8 @@ jobs: shell: cmd run: | dotnet tool install --global wix --version ${{ env.WIX_VER }} + wix eula accept wix7 wix extension add --global WixToolset.UI.wixext/${{ env.WIX_VER }} - env: - WIX_OSMF_EULA_AGREEMENT: 1 - name: Checkout uses: actions/checkout@v6 From 9d93e450170aee5b8aab96e77a43d916fb47082f Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 14:11:54 +0900 Subject: [PATCH 20/26] refactor: fix IWYU pragma positions and remove unused includes Move #include "tetengo/json/file_location.hpp" after other tetengo/json includes in json_parser.cpp for correct IWYU ordering. Reorder #include after in n_best_iterator test and other files. Remove unused boost headers from trie and sample files. Update kogyan submodule to new commit. --- kogyan | 2 +- library/json/cpp/src/tetengo.json.json_parser.cpp | 3 ++- .../lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp | 2 +- library/trie/c/src/tetengo_trie_trie.cpp | 2 -- library/trie/c/src/tetengo_trie_trieIterator.cpp | 1 - library/trie/cpp/src/tetengo.trie.mmap_storage.cpp | 1 - sample/transfer_trains/src/main.cpp | 1 - sample/transfer_trains/src/timetable.cpp | 1 - 8 files changed, 4 insertions(+), 9 deletions(-) diff --git a/kogyan b/kogyan index 90eb6897..0091e14f 160000 --- a/kogyan +++ b/kogyan @@ -1 +1 @@ -Subproject commit 90eb68976a6ecc690cc783a68588fc86c7cb434a +Subproject commit 0091e14fa9ecbebc2288e155ecf66283092e6366 diff --git a/library/json/cpp/src/tetengo.json.json_parser.cpp b/library/json/cpp/src/tetengo.json.json_parser.cpp index c7e8cd6e..3ed9ce73 100644 --- a/library/json/cpp/src/tetengo.json.json_parser.cpp +++ b/library/json/cpp/src/tetengo.json.json_parser.cpp @@ -23,12 +23,13 @@ #include #include #include -#include "tetengo/json/file_location.hpp" // IWYU pragma: keep #include #include #include #include +#include "tetengo/json/file_location.hpp" // IWYU pragma: keep + namespace tetengo::json { diff --git a/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp b/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp index 0bf39adb..de383564 100644 --- a/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp +++ b/library/lattice/test/src/test_tetengo.lattice.n_best_iterator.cpp @@ -4,8 +4,8 @@ Copyright (C) 2019-2026 kaoru https://www.tetengo.org/ */ -#include #include // IWYU pragma: keep +#include #include #include #include diff --git a/library/trie/c/src/tetengo_trie_trie.cpp b/library/trie/c/src/tetengo_trie_trie.cpp index 886df148..280c3e08 100644 --- a/library/trie/c/src/tetengo_trie_trie.cpp +++ b/library/trie/c/src/tetengo_trie_trie.cpp @@ -16,8 +16,6 @@ #include -#include // IWYU pragma: keep - #include #include #include diff --git a/library/trie/c/src/tetengo_trie_trieIterator.cpp b/library/trie/c/src/tetengo_trie_trieIterator.cpp index 8c867937..296dc3bc 100644 --- a/library/trie/c/src/tetengo_trie_trieIterator.cpp +++ b/library/trie/c/src/tetengo_trie_trieIterator.cpp @@ -10,7 +10,6 @@ #include #include -#include // IWYU pragma: keep #include // IWYU pragma: keep #include diff --git a/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp b/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp index 260b4d0e..bed4ae41 100644 --- a/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp +++ b/library/trie/cpp/src/tetengo.trie.mmap_storage.cpp @@ -21,7 +21,6 @@ #include #include #include -#include // IWYU pragma: keep #include #include diff --git a/sample/transfer_trains/src/main.cpp b/sample/transfer_trains/src/main.cpp index 9070da78..6a820fcf 100644 --- a/sample/transfer_trains/src/main.cpp +++ b/sample/transfer_trains/src/main.cpp @@ -25,7 +25,6 @@ #include #include -#include // IWYU pragma: keep #include #include // IWYU pragma: keep #include diff --git a/sample/transfer_trains/src/timetable.cpp b/sample/transfer_trains/src/timetable.cpp index 3b64c410..ce454748 100644 --- a/sample/transfer_trains/src/timetable.cpp +++ b/sample/transfer_trains/src/timetable.cpp @@ -22,7 +22,6 @@ #include #include -#include // IWYU pragma: keep #include #include From adb4c0869dc960e58a3a577af5e24ba0f7469c21 Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 14:41:31 +0900 Subject: [PATCH 21/26] build: add pthread flags to compiler flags and adjust linker setup Include pthread compiler flags in CXXFLAGS and CFLAGS for consistent compilation with threading support. Adjust linker configuration by setting LDFLAGS with pthread link flags first and LIBS with pthread libraries afterward, avoiding duplication and handling Clang-specific cases properly. --- configure.ac | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 5a4a56c5..d1c81bd2 100644 --- a/configure.ac +++ b/configure.ac @@ -189,7 +189,8 @@ AS_IF( [${CXX} --version 2>/dev/null | grep -qi clang], [test "x${PTHREAD_CFLAGS}" = "x-pthread" && AX_PTHREAD_LINK_CFLAGS=""] ) -AC_SUBST([LIBS], "${AX_PTHREAD_LINK_CFLAGS} ${PTHREAD_LIBS} ${LIBS}") +AC_SUBST([LDFLAGS], "${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}") +AC_SUBST([LIBS], "${PTHREAD_LIBS} ${LIBS}") AC_SUBST([CC], "${PTHREAD_CC}") AX_BOOST_BASE([1.88.0]) @@ -202,8 +203,8 @@ AC_SUBST([CPPFLAGS], "${CPPFLAGS} ${BOOST_CPPFLAGS}") #### Compilation Options #### AC_SUBST([CXXFLAGS_IWYU], "${CXXFLAGS} -std=c++20 -Werror -Wall -Wextra -pedantic-errors") -AC_SUBST([CXXFLAGS], "${CXXFLAGS} -std=c++20 -Werror -Wall -Wextra -pedantic-errors") -AC_SUBST([CFLAGS], "${CFLAGS} -std=c17 -Werror -Wall -Wextra -pedantic-errors") +AC_SUBST([CXXFLAGS], "${CXXFLAGS} ${PTHREAD_CFLAGS} -std=c++20 -Werror -Wall -Wextra -pedantic-errors") +AC_SUBST([CFLAGS], "${CFLAGS} ${PTHREAD_CFLAGS} -std=c17 -Werror -Wall -Wextra -pedantic-errors") #### Output #### AC_OUTPUT From 0b9b1f06239cbef72348d10f3da116f483b6379f Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 14:53:38 +0900 Subject: [PATCH 22/26] chore: include pthread flags only once in CPPFLAGS to prevent duplication when combined with CXXFLAGS/CFLAGS #349 Include pthread flags only once in CPPFLAGS to prevent duplication when combined with CXXFLAGS/CFLAGS. Removed ${PTHREAD_CFLAGS} from CXXFLAGS and CFLAGS substitutions since now included in CPPFLAGS. Updated pthread link flags handling for clang compatibility. --- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index d1c81bd2..32f354d6 100644 --- a/configure.ac +++ b/configure.ac @@ -199,12 +199,12 @@ AC_SUBST([LDFLAGS], "${LDFLAGS} ${BOOST_LDFLAGS}") AC_SUBST([LIBS], "-lstdc++fs -lstdc++ ${LIBS}") #### Header Checks #### -AC_SUBST([CPPFLAGS], "${CPPFLAGS} ${BOOST_CPPFLAGS}") +AC_SUBST([CPPFLAGS], "${CPPFLAGS} ${PTHREAD_CFLAGS} ${BOOST_CPPFLAGS}") #### Compilation Options #### AC_SUBST([CXXFLAGS_IWYU], "${CXXFLAGS} -std=c++20 -Werror -Wall -Wextra -pedantic-errors") -AC_SUBST([CXXFLAGS], "${CXXFLAGS} ${PTHREAD_CFLAGS} -std=c++20 -Werror -Wall -Wextra -pedantic-errors") -AC_SUBST([CFLAGS], "${CFLAGS} ${PTHREAD_CFLAGS} -std=c17 -Werror -Wall -Wextra -pedantic-errors") +AC_SUBST([CXXFLAGS], "${CXXFLAGS} -std=c++20 -Werror -Wall -Wextra -pedantic-errors") +AC_SUBST([CFLAGS], "${CFLAGS} -std=c17 -Werror -Wall -Wextra -pedantic-errors") #### Output #### AC_OUTPUT From e079741cff6db10ad4555b871ddefa9b406c893d Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 15:09:52 +0900 Subject: [PATCH 23/26] fix: prepend pthread link flags to LDFLAGS directly #349 Avoids potential override of pthread link flags by subsequent AC_SUBST calls. Changed from: AC_SUBST([LDFLAGS], "${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}") to: LDFLAGS="${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}" AC_SUBST([LDFLAGS], "${LDFLAGS} ${BOOST_LDFLAGS}") This ensures pthread flags are preserved when Boost LDFLAGS are appended later. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 32f354d6..fe200e09 100644 --- a/configure.ac +++ b/configure.ac @@ -189,7 +189,7 @@ AS_IF( [${CXX} --version 2>/dev/null | grep -qi clang], [test "x${PTHREAD_CFLAGS}" = "x-pthread" && AX_PTHREAD_LINK_CFLAGS=""] ) -AC_SUBST([LDFLAGS], "${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}") +LDFLAGS="${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}" AC_SUBST([LIBS], "${PTHREAD_LIBS} ${LIBS}") AC_SUBST([CC], "${PTHREAD_CC}") From dd3333fa8bc1e6639f0bda6d04c90383d1de9d7c Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 15:14:46 +0900 Subject: [PATCH 24/26] build: update Boost to 1.91.0 and WiX to 7.0.0 #349 Modernize dependencies as per #349. * Update AX_BOOST_BASE minimum version from 1.88.0 to 1.91.0 * Remove wix7 flags from WiX Toolset commands in Makefile.nmake to use WiX 7.0.0 --- configure.ac | 2 +- setup/installer/Makefile.nmake | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index fe200e09..3aec7b18 100644 --- a/configure.ac +++ b/configure.ac @@ -193,7 +193,7 @@ LDFLAGS="${AX_PTHREAD_LINK_CFLAGS} ${LDFLAGS}" AC_SUBST([LIBS], "${PTHREAD_LIBS} ${LIBS}") AC_SUBST([CC], "${PTHREAD_CC}") -AX_BOOST_BASE([1.88.0]) +AX_BOOST_BASE([1.91.0]) AX_BOOST_UNIT_TEST_FRAMEWORK AC_SUBST([LDFLAGS], "${LDFLAGS} ${BOOST_LDFLAGS}") AC_SUBST([LIBS], "-lstdc++fs -lstdc++ ${LIBS}") diff --git a/setup/installer/Makefile.nmake b/setup/installer/Makefile.nmake index 547c9cbe..4e0d0a95 100644 --- a/setup/installer/Makefile.nmake +++ b/setup/installer/Makefile.nmake @@ -33,21 +33,21 @@ $(BINDIR)\tetengo.msi: $(OBJDIR)\tetengo.en.msi $(OBJDIR)\ja.mst $(COPY) /y $(OBJDIR)\tetengo.msi $@ $(OBJDIR)\ja.mst: $(OBJDIR)\tetengo.en.msi $(OBJDIR)\tetengo.ja.msi - $(WIXCOMMAND) msi -acceptEula wix7 transform -out $@ -p -t language $** + $(WIXCOMMAND) msi -acceptEula transform -out $@ -p -t language $** $(OBJDIR)\tetengo.en.msi: $(WORKDIR)\main.wxs $(OBJDIR)\content.wxs set WORKDIR=$(WORKDIR) set PLATFORM=$(PLATFORM) set LANGUAGE=1033 set CODEPAGE=1252 - $(WIXCOMMAND) build -acceptEula wix7 -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture en-US $** + $(WIXCOMMAND) build -acceptEula -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture en-US $** $(OBJDIR)\tetengo.ja.msi: $(WORKDIR)\main.wxs $(OBJDIR)\content.wxs set WORKDIR=$(WORKDIR) set PLATFORM=$(PLATFORM) set LANGUAGE=1041 set CODEPAGE=932 - $(WIXCOMMAND) build -acceptEula wix7 -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture ja-JP $** + $(WIXCOMMAND) build -acceptEula -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture ja-JP $** $(OBJDIR)\content.wxs: $(OBJDIR)\content_wxs_source.txt $(PYTHON) "$(WORKDIR)\generate_content_wxs.py" $** $@ From 782d66f5a14bc49c1704acfd98d01af544e4909d Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 15:29:57 +0900 Subject: [PATCH 25/26] build: add wix7 argument to WiX commands Updated WiX Toolset commands in Makefile.nmake to include the wix7 argument for msi transform and build operations, ensuring compatibility with the specified WiX version. --- setup/installer/Makefile.nmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup/installer/Makefile.nmake b/setup/installer/Makefile.nmake index 4e0d0a95..547c9cbe 100644 --- a/setup/installer/Makefile.nmake +++ b/setup/installer/Makefile.nmake @@ -33,21 +33,21 @@ $(BINDIR)\tetengo.msi: $(OBJDIR)\tetengo.en.msi $(OBJDIR)\ja.mst $(COPY) /y $(OBJDIR)\tetengo.msi $@ $(OBJDIR)\ja.mst: $(OBJDIR)\tetengo.en.msi $(OBJDIR)\tetengo.ja.msi - $(WIXCOMMAND) msi -acceptEula transform -out $@ -p -t language $** + $(WIXCOMMAND) msi -acceptEula wix7 transform -out $@ -p -t language $** $(OBJDIR)\tetengo.en.msi: $(WORKDIR)\main.wxs $(OBJDIR)\content.wxs set WORKDIR=$(WORKDIR) set PLATFORM=$(PLATFORM) set LANGUAGE=1033 set CODEPAGE=1252 - $(WIXCOMMAND) build -acceptEula -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture en-US $** + $(WIXCOMMAND) build -acceptEula wix7 -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture en-US $** $(OBJDIR)\tetengo.ja.msi: $(WORKDIR)\main.wxs $(OBJDIR)\content.wxs set WORKDIR=$(WORKDIR) set PLATFORM=$(PLATFORM) set LANGUAGE=1041 set CODEPAGE=932 - $(WIXCOMMAND) build -acceptEula -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture ja-JP $** + $(WIXCOMMAND) build -acceptEula wix7 -out $@ -ext WixToolset.UI.wixext -arch $(ARCH) -culture ja-JP $** $(OBJDIR)\content.wxs: $(OBJDIR)\content_wxs_source.txt $(PYTHON) "$(WORKDIR)\generate_content_wxs.py" $** $@ From c314ddaf59fce2b919e34b59cc76d5556ed89811 Mon Sep 17 00:00:00 2001 From: kaoru Date: Wed, 29 Apr 2026 16:06:43 +0900 Subject: [PATCH 26/26] chore: updated kogyan submodule from commit 0091e14f to 29f0fe8c. Updated kogyan submodule from commit 0091e14f to 29f0fe8c. --- kogyan | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kogyan b/kogyan index 0091e14f..29f0fe8c 160000 --- a/kogyan +++ b/kogyan @@ -1 +1 @@ -Subproject commit 0091e14fa9ecbebc2288e155ecf66283092e6366 +Subproject commit 29f0fe8c1f6ffc50a312d664983304e39cb4bef0