Translations update from Boost-Weblate#1
Translations update from Boost-Weblate#1whisper67265 wants to merge 145 commits intolocal-zh_Hansfrom
Conversation
There was a problem hiding this comment.
Actionable comments posted: 5
Note
Due to the large number of review comments, Critical severity comments were prioritized as inline comments.
🟠 Major comments (16)
doc/modules/ROOT/pages/reference/header_unordered_set_top_zh_Hans.adoc-1-1 (1)
1-1:⚠️ Potential issue | 🟠 MajorFix the anchor ID - remove erroneous "fwd".
The anchor ID on line 1 is
header_unordered_set_fwd_top, but this page documents the top-level convenience header<boost/unordered_set.hpp>, not a forward-declaration header. The anchor should match the:idprefix:on line 4 and should not contain "fwd".This mismatch will break cross-references and cause navigation issues in the generated documentation.
🔧 Proposed fix to correct the anchor ID
-[`#header_unordered_set_fwd_top`] +[`#header_unordered_set_top`]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_set_top_zh_Hans.adoc` at line 1, The anchor ID header_unordered_set_fwd_top is incorrect (contains "fwd") and must be changed to match the page's :idprefix: and actual header; update the anchor to header_unordered_set_top so it reflects the top-level convenience header <boost/unordered_set.hpp> and restores correct cross-references (search for the existing anchor header_unordered_set_fwd_top and replace it with header_unordered_set_top).doc/modules/ROOT/pages/reference/header_unordered_map_top_zh_Hans.adoc-1-1 (1)
1-1:⚠️ Potential issue | 🟠 MajorFix the anchor ID - remove erroneous "fwd".
The anchor ID is
header_unordered_map_fwd_top, but this page documents the top-level convenience header<boost/unordered_map.hpp>, not a forward-declaration header. The anchor should beheader_unordered_map_topto match the:idprefix:on line 4 and accurately reflect the page content.This is the same issue found in
header_unordered_set_top_zh_Hans.adocand will cause broken cross-references.🔧 Proposed fix to correct the anchor ID
-[`#header_unordered_map_fwd_top`] +[`#header_unordered_map_top`]🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_map_top_zh_Hans.adoc` at line 1, Change the anchor ID at the top of the page from header_unordered_map_fwd_top to header_unordered_map_top so it matches the :idprefix: and the documented header <boost/unordered_map.hpp>; locate and update the tag [`#header_unordered_map_fwd_top`] to [`#header_unordered_map_top`] (also check for the same erroneous "fwd" anchor in header_unordered_set_top_zh_Hans.adoc and fix it similarly).doc/modules/ROOT/pages/ref_zh_Hans.adoc-1-39 (1)
1-39:⚠️ Potential issue | 🟠 MajorUpdate all xref targets in ref_zh_Hans.adoc to reference Chinese documentation.
All 39 xref links in this Chinese index page currently point to English reference files. The xrefs must include the
_zh_Hanssuffix to navigate users to the translated Chinese documentation. For example:
- Change
xref:reference/header_unordered_map_fwd.adoctoxref:reference/header_unordered_map_fwd_zh_Hans.adoc- Change
xref:reference/header_unordered_map_top.adoctoxref:reference/header_unordered_map_top_zh_Hans.adoc- Apply the same pattern to all other targets
The Chinese reference files with
_zh_Hanssuffix already exist and are properly translated.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/ref_zh_Hans.adoc` around lines 1 - 39, The xref targets in ref_zh_Hans.adoc point to English files; update every xref target (e.g., reference/header_unordered_map_fwd.adoc, reference/header_unordered_map_top.adoc, reference/unordered_map.adoc, reference/unordered_multimap.adoc, etc.) to use the Chinese filenames by appending _zh_Hans before the .adoc extension (for example change reference/header_unordered_map_fwd.adoc → reference/header_unordered_map_fwd_zh_Hans.adoc and reference/header_unordered_map_top.adoc → reference/header_unordered_map_top_zh_Hans.adoc), and apply this same suffix change consistently to all xref entries in ref_zh_Hans.adoc.doc/modules/ROOT/nav_zh_Hans.adoc-1-51 (1)
1-51:⚠️ Potential issue | 🟠 MajorFix xref links to reference localized pages
The navigation file
nav_zh_Hans.adocreferences non-localized pages without the_zh_Hanssuffix. All xref links should point to Chinese localized versions:
- Change
xref:intro.adoc[...]→xref:intro_zh_Hans.adoc[...]- Change
xref:buckets.adoc[...]→xref:buckets_zh_Hans.adoc[...]- Apply this pattern to all 51+ pages and reference pages
Localized versions with the
_zh_Hanssuffix exist for every page in the navigation. Without this fix, Chinese readers are redirected to English documentation despite using the Chinese navigation menu.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/nav_zh_Hans.adoc` around lines 1 - 51, The nav_zh_Hans.adoc xref entries point to non-localized filenames (e.g., xref:intro.adoc, xref:buckets.adoc and all reference xref:reference/*.adoc entries); update each xref target to its Chinese localized counterpart by appending _zh_Hans before .adoc (e.g., xref:intro_zh_Hans.adoc, xref:buckets_zh_Hans.adoc and xref:reference/header_unordered_map_fwd_zh_Hans.adoc etc.), and apply this rename consistently for every xref in the file so all links reference the existing localized pages.doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc-801-803 (1)
801-803:⚠️ Potential issue | 🟠 MajorRemove mention of "bool component" from Returns documentation for hint-based overloads.
The declarations show these functions return
iteratoronly:
emplace_hint:template<class... Args> iterator emplace_hint(const_iterator position, Args&&... args);insert(copy hint):iterator insert(const_iterator hint, const value_type& obj);insert(move hint):iterator insert(const_iterator hint, value_type&& obj);However, the documentation at lines 801-803, 864-867, and 887-889 states: "The
boolcomponent of the return type istrueif an insert took place." This contradicts the declared return type ofiteratorand misleads developers. Rewrite the Returns sections to describe only the iterator behavior (e.g., "Returns an iterator to the newly inserted element if an insert took place, otherwise to the element with equivalent key.").🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc` around lines 801 - 803, The Returns documentation incorrectly mentions a "bool component" for the hint-based overloads; update the Returns text for emplace_hint, insert(const_iterator hint, const value_type&), and insert(const_iterator hint, value_type&&) to remove any reference to a bool and state only the iterator behavior: "Returns an iterator to the newly inserted element if an insert took place, otherwise an iterator to the element with an equivalent key." Ensure this revised sentence replaces the existing multi-line Returns paragraphs that refer to a bool component.doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc-75-78 (1)
75-78:⚠️ Potential issue | 🟠 MajorMissing comma breaks documented constructor signatures.
At lines 75-78 and 621-624, the
size_type n = _implementation-defined_parameter is missing a trailing comma beforeconst hasher& hf, making the C++ declarations invalid. Both instances of the initializer list constructor have this syntax error.Suggested fix
concurrent_node_map(std::initializer_list<value_type> il, - size_type n = _implementation-defined_ - const hasher& hf = hasher(), + size_type n = _implementation-defined_, + const hasher& hf = hasher(), const key_equal& eql = key_equal(), const allocator_type& a = allocator_type());🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc` around lines 75 - 78, The documented constructor signatures for concurrent_node_map have a missing comma after the parameter "size_type n = _implementation-defined_" which breaks the C++ declaration; update both initializer-list constructor signatures (the ones that include "size_type n = _implementation-defined_", "const hasher& hf = hasher()", "const key_equal& eql = key_equal()", "const allocator_type& a = allocator_type()") by inserting a trailing comma immediately after the "size_type n = _implementation-defined_" parameter so the parameter list is syntactically valid.doc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc-75-77 (1)
75-77:⚠️ Potential issue | 🟠 MajorMissing declaration terminator in constructor synopsis.
Line 75 ends the constructor declaration with
)instead of);, creating a syntax inconsistency with the following declaration at lines 76-77 which correctly terminates with a semicolon.Suggested fix
xref:`#unordered_multiset_initializer_list_constructor_with_bucket_count_and_allocator`[unordered_multiset](std::initializer_list<value_type> il, size_type n, - const allocator_type& a) + const allocator_type& a); xref:`#unordered_multiset_initializer_list_constructor_with_bucket_count_and_hasher_and_allocator`[unordered_multiset](std::initializer_list<value_type> il, size_type n, const hasher& hf, const allocator_type& a);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc` around lines 75 - 77, The constructor synopsis for unordered_multiset that starts with "const allocator_type& a)" is missing its terminating semicolon; update the declaration for the initializer-list constructor (the line ending in ")") to end with ");" so it matches the following declaration style and completes the declaration for unordered_multiset_initializer_list_constructor_with_bucket_count_and_hasher_and_allocator.doc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc-895-896 (1)
895-896:⚠️ Potential issue | 🟠 MajorFix
insert(initializer_list)documentation to allow duplicate keys.The
insert(initializer_list<value_type> il)method documentation incorrectly states that "Elements are inserted if and only if there is no element in the container with an equivalent key." This contradicts the fundamental semantics ofunordered_multiset, which explicitly allows multiple elements with equivalent keys. Compare this toinsert(iterator_range), which correctly allows duplicates. Remove the key uniqueness restriction to match multiset behavior.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc` around lines 895 - 896, The documentation for unordered_multiset::insert(initializer_list<value_type> il) wrongly enforces unique-key semantics; update the text for insert(initializer_list<value_type> il) to match unordered_multiset behavior (duplicates allowed) by removing the phrase "Elements are inserted if and only if there is no element in the container with an equivalent key" and replacing it with a statement that all elements from the initializer_list are inserted and that equivalent keys (duplicates) are permitted, consistent with unordered_multiset::insert(iterator_range).doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc-1242-1245 (1)
1242-1245:⚠️ Potential issue | 🟠 MajorFix incorrect function names and parameter typo in "Insert Iterator Range and Visit" section.
Lines 1242-1244 document
insert_or_visitandinsert_or_cvisitwith two callback parameters, but these should beinsert_and_visitandinsert_and_cvisit(consistent with the two-callback pattern used in "Insert Initializer List and Visit"). Additionally, the second function has a parameter typo:F1 f2should beF1 f1.Suggested fix
template<class InputIterator, class F1, class F2> - size_type insert_or_visit(InputIterator first, InputIterator last, F1 f1, F2 f2); + size_type insert_and_visit(InputIterator first, InputIterator last, F1 f1, F2 f2); template<class InputIterator, class F1, class F2> - size_type insert_or_cvisit(InputIterator first, InputIterator last, F1 f2, F2 f2); + size_type insert_and_cvisit(InputIterator first, InputIterator last, F1 f1, F2 f2);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc` around lines 1242 - 1245, Update the documented function signatures in the "Insert Iterator Range and Visit" section: rename insert_or_visit to insert_and_visit and insert_or_cvisit to insert_and_cvisit to match the two-callback naming pattern, and fix the parameter typo in the second signature by changing the incorrect parameter declaration F1 f2 to F1 f1 so the templates read consistently (reference the symbols insert_or_visit, insert_or_cvisit, insert_and_visit, insert_and_cvisit and the parameter types F1/F2 when locating the lines to change).doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc-1231-1232 (1)
1231-1232:⚠️ Potential issue | 🟠 MajorFix template parameter typo in overload declaration
Line 1231 uses
class f2(lowercase type parameter), inconsistent with the surrounding declaration (F2). This should beclass F2.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc` around lines 1231 - 1232, The template declaration for insert_and_cvisit has a lowercase type parameter typo; update the template parameter list so the third parameter is declared as class F2 (matching the rest of the code) — locate the template<class InputIterator, class F1, class f2> line and change the parameter name to F2 so it matches the function signature insert_and_cvisit(InputIterator first, InputIterator last, F1 f1, F2 f2).doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc-67-70 (1)
67-70:⚠️ Potential issue | 🟠 MajorCorrect invalid constructor signatures (missing comma)
Both initializer-list constructor declarations are missing a comma after
size_type n = _implementation-defined_(Line 67 and Line 517). That currently renders the documented API signature invalid.Proposed fix
- xref:`#concurrent_flat_set_initializer_list_constructor`[concurrent_flat_set](std::initializer_list<value_type> il, - size_type n = _implementation-defined_ + xref:`#concurrent_flat_set_initializer_list_constructor`[concurrent_flat_set](std::initializer_list<value_type> il, + size_type n = _implementation-defined_, const hasher& hf = hasher(), const key_equal& eql = key_equal(), const allocator_type& a = allocator_type());-concurrent_flat_set(std::initializer_list<value_type> il, - size_type n = _implementation-defined_ +concurrent_flat_set(std::initializer_list<value_type> il, + size_type n = _implementation-defined_, const hasher& hf = hasher(), const key_equal& eql = key_equal(), const allocator_type& a = allocator_type());Also applies to: 517-520
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc` around lines 67 - 70, The initializer-list constructor declarations for concurrent_flat_set (the signatures containing "size_type n = _implementation-defined_" followed by "const hasher& hf = hasher(), const key_equal& eql = key_equal(), const allocator_type& a = allocator_type()") are missing a comma after the size_type parameter; update both occurrences (the initializer-list constructor declarations around the existing "size_type n = _implementation-defined_" and the matching one later) to insert a comma immediately after that parameter so the parameter list reads "size_type n = _implementation-defined_," before the hasher parameter, ensuring the constructor signatures are valid.doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc-1180-1185 (1)
1180-1185:⚠️ Potential issue | 🟠 MajorFix parameter and callback name typos in copy
insert_and_[c]visitLine 1180 has
F1 f2in the second overload (should beF1 f1), and Line 1184 says “invokesf” (should bef2).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc` around lines 1180 - 1185, The doc has two typos: in the second template overload declaration for insert_and_cvisit change the parameter name from F1 f2 to F1 f1 so the signatures read consistently (template<class F1, class F2> bool insert_and_cvisit(const value_type& obj, F1 f1, F2 f2)); and update the prose that currently says “invokes `f`” to explicitly reference `f2` for the case that an equivalent element exists (so the text describes invoking f1 for newly created element and f2 for the existing element).doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc-200-201 (1)
200-201:⚠️ Potential issue | 🟠 MajorFix wrong xref anchor for
extract_ifoverloadLine 201 links
extract_ifto#concurrent_node_set_extract; this should target theextract_ifanchor to avoid broken/wrong intra-page navigation.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc` around lines 200 - 201, The second template declaration currently links extract_if to the wrong anchor (`#concurrent_node_set_extract`); update the xref for the overload so both lines point to the extract_if anchor (use `#concurrent_node_set_extract_if`) — adjust the xref on the line with "template<class K, class F> node_type xref:`#concurrent_node_set_extract`[extract_if](const K& k, F f);" so it references `#concurrent_node_set_extract_if` like the first declaration does.doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc-1161-1164 (1)
1161-1164:⚠️ Potential issue | 🟠 MajorCorrect function names in
emplace_and_[c]visitsectionLine 1161-Line 1164 currently declare
emplace_or_visit/emplace_or_cvisit, which conflicts with the section and synopsis (emplace_and_*). Please rename these declarations toemplace_and_visitandemplace_and_cvisit.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc` around lines 1161 - 1164, The declarations currently use the wrong names emplace_or_visit and emplace_or_cvisit; update those function declarations to emplace_and_visit and emplace_and_cvisit respectively so they match the emplace_and_[c]visit section and synopsis (change the template lines that reference emplace_or_visit and emplace_or_cvisit to use emplace_and_visit and emplace_and_cvisit).doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc-1169-1172 (1)
1169-1172:⚠️ Potential issue | 🟠 MajorUse the correct API names in “Insert Iterator Range and Visit”
Under this section, Line 1169-Line 1172 currently declare
insert_or_visit/insert_or_cvisit, but this block should document theinsert_and_visit/insert_and_cvisitoverloads.Proposed fix
template<class InputIterator, class F1, class F2> - size_type insert_or_visit(InputIterator first, InputIterator last, F1 f1, F2 f2); + size_type insert_and_visit(InputIterator first, InputIterator last, F1 f1, F2 f2); template<class InputIterator, class F1, class F2> - size_type insert_or_cvisit(InputIterator first, InputIterator last, F1 f1, F2 f2); + size_type insert_and_cvisit(InputIterator first, InputIterator last, F1 f1, F2 f2);🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc` around lines 1169 - 1172, The documentation uses incorrect API names: replace the declarations of insert_or_visit and insert_or_cvisit with the correct overload names insert_and_visit and insert_and_cvisit in the "Insert Iterator Range and Visit" block; update both the plain and the template declarations so the signatures read size_type insert_and_visit(InputIterator first, InputIterator last, F1 f1, F2 f2); and template<class InputIterator, class F1, class F2> size_type insert_and_cvisit(InputIterator first, InputIterator last, F1 f1, F2 f2); ensuring the symbol names match the actual API.doc/modules/ROOT/pages/compliance_zh_Hans.adoc-48-48 (1)
48-48:⚠️ Potential issue | 🟠 MajorFix C++11 version number and remove non-existent standard container references
Line 48: Change
C++1toC++11.Line 65: The reference to
std::unordered_flat_setandstd::unordered_flat_mapis incorrect—these containers do not exist in the C++ standard library. They are Boost-specific. Update to reference the actual standard library unordered containers (std::unordered_setandstd::unordered_map) or clarify the modeling is based on Boost containers instead.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/compliance_zh_Hans.adoc` at line 48, Update the C++ version token "C{plus}{plus}1" to "C{plus}{plus}11" in the Boost.Unordered description and remove or correct references to non-standard containers "std::unordered_flat_set" and "std::unordered_flat_map": either replace them with the standard containers "std::unordered_set" and "std::unordered_map" or explicitly state that the flat variants are Boost-provided types (e.g., refer to Boost.Unordered's unordered_flat_set/unordered_flat_map) so the text no longer implies those types exist in the C++ standard library.
🟡 Minor comments (9)
doc/modules/ROOT/pages/changes_zh_Hans.adoc-229-229 (1)
229-229:⚠️ Potential issue | 🟡 MinorTypo in changelog intro sentence.
Line 229 has
本本次; this should be本次.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/changes_zh_Hans.adoc` at line 229, Fix the typo where the changelog intro reads "本本次" — replace the duplicated character with "本次" in the changes_zh_Hans.adoc entry (the sentence containing "本本次为重大更新:容器已改用 Boost.Move 的移动操作模拟实现...") so the sentence begins "本次为重大更新:...".doc/modules/ROOT/pages/reference/header_unordered_node_map_fwd_zh_Hans.adoc-6-6 (1)
6-6:⚠️ Potential issue | 🟡 MinorLocalized page links should target localized references.
Line 6 links to
header_unordered_node_map.adoc. Ifheader_unordered_node_map_zh_Hans.adocexists, point to that instead to avoid language switching in zh_Hans navigation.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_node_map_fwd_zh_Hans.adoc` at line 6, Update the xref in the forward-declaration file so it points to the localized page instead of the English one: replace the link target `reference/header_unordered_node_map.adoc` with `reference/header_unordered_node_map_zh_Hans.adoc` (or conditionally use the localized file if it exists) so the xref in this file uses the same zh_Hans localization and avoids switching languages in navigation.doc/modules/ROOT/pages/reference/header_unordered_node_set_fwd_zh_Hans.adoc-2-6 (1)
2-6:⚠️ Potential issue | 🟡 MinorThis zh_Hans page is still mostly untranslated.
Line 2 (“Synopsis”) and Line 6 (“Forward declares...”) are English; please translate them to match the locale of this document set.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_node_set_fwd_zh_Hans.adoc` around lines 2 - 6, Translate the two remaining English strings in header_unordered_node_set_fwd_zh_Hans.adoc to Simplified Chinese: replace the heading "Synopsis" with the Chinese equivalent (e.g., "概要" or "概述") and translate the sentence "Forward declares all the definitions in xref:reference/header_unordered_node_set.adoc[`<boost/unordered/unordered_node_set.hpp>`]." into Chinese while preserving the xref link and the code tag `<boost/unordered/unordered_node_set.hpp>`; update the text so the locale matches the rest of the zh_Hans document.doc/modules/ROOT/pages/reference/header_unordered_set_fwd_zh_Hans.adoc-6-6 (1)
6-6:⚠️ Potential issue | 🟡 MinorCross-reference should stay in zh_Hans docs when possible.
Line 6 links to
header_unordered_set.adoc; if localized page exists, useheader_unordered_set_zh_Hans.adocto keep language continuity.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_set_fwd_zh_Hans.adoc` at line 6, Update the cross-reference in header_unordered_set_fwd_zh_Hans.adoc so it points to the localized page reference/header_unordered_set_zh_Hans.adoc instead of reference/header_unordered_set.adoc (change the xref target used in the link `reference/header_unordered_set.adoc`), and if the localized file does not exist ensure there is a fallback or create reference/header_unordered_set_zh_Hans.adoc so the zh_Hans page keeps language continuity.doc/modules/ROOT/pages/reference/header_unordered_map_fwd_zh_Hans.adoc-6-6 (1)
6-6:⚠️ Potential issue | 🟡 MinorPrefer linking to localized counterpart pages.
Line 6 currently targets
header_unordered_map.adoc; ifheader_unordered_map_zh_Hans.adocexists, link there so users stay in Chinese docs.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_map_fwd_zh_Hans.adoc` at line 6, Update the cross-reference in header_unordered_map_fwd_zh_Hans.adoc so it points to the Chinese localized page instead of the English one: replace the target xref:reference/header_unordered_map.adoc with xref:reference/header_unordered_map_zh_Hans.adoc (and if that localized file is not present, keep the original as a fallback); ensure the existing link text and formatting around the `++<++boost/unordered/unordered++_++map.hpp++>++` token remain unchanged.doc/modules/ROOT/pages/reference/header_unordered_node_set_zh_Hans.adoc-2-40 (1)
2-40:⚠️ Potential issue | 🟡 MinorKeep language consistent within zh_Hans pages.
This section mixes Chinese and English labels/comments (e.g., “Synopsis”, “Pmr aliases (C++17 and up)”). Please localize these strings to keep the page consistently zh_Hans.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_unordered_node_set_zh_Hans.adoc` around lines 2 - 40, The file mixes Chinese and English labels; change the English headings/labels to Simplified Chinese: replace "Synopsis" with a zh_Hans equivalent (e.g., "概要" or "摘要") and localize "Pmr aliases (C++17 and up)" to a Chinese phrase indicating PMR 别名及其适用的 C++ 版本 (e.g., "Pmr 别名(C++17 及更高)"); keep the rest of the Chinese comments intact and ensure any other English labels in the same block (such as listing captions or inline English comments) are similarly translated so the page is consistently zh_Hans while preserving identifiers like unordered_node_set, operator==, swap, and erase_if.doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc-1498-1500 (1)
1498-1500:⚠️ Potential issue | 🟡 MinorRemove erroneous ExecutionPolicy check from erase_if by Key notes.
At lines 1498-1499, the notes incorrectly include
std::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>>for thetemplate<class K, class F>overload. This constraint does not apply—neither overload in the "erase_if by Key" section has anExecutionPolicyparameter. This text should be removed; the correct ExecutionPolicy constraint belongs only in the separate "Parallel erase_if" section (lines 1519+).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc` around lines 1498 - 1500, Remove the incorrect ExecutionPolicy constraint from the "erase_if by Key" notes: in the paragraph describing the template<class K, class F> overload for erase_if by Key, delete the phrase that says the overload only participates when std::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> is false; instead leave the text stating that the overload requires Hash::is_transparent and Pred::is_transparent (and that Hash must be callable with both K and Key to enable heterogeneous lookup). Ensure the ExecutionPolicy constraint remains only in the separate "Parallel erase_if" section.doc/modules/ROOT/pages/concurrent_zh_Hans.adoc-223-223 (1)
223-223:⚠️ Potential issue | 🟡 MinorFix typo in table title text
Line 223 has a spelling error:
interoperatibility→interoperability.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/concurrent_zh_Hans.adoc` at line 223, Update the table title string in the caption definition to fix the spelling mistake: replace "Concurrent/non-concurrent interoperatibility" with "Concurrent/non-concurrent interoperability" in the caption entry (the line containing [caption=",", title='Table {counter:table-counter}. Concurrent/non-concurrent interoperatibility']).doc/modules/ROOT/pages/reference/header_concurrent_flat_map_zh_Hans.adoc-50-50 (1)
50-50:⚠️ Potential issue | 🟡 MinorFix malformed namespace comment
Line 50 has a corrupted comment:
// 命名空间 pmr擦除.
Please correct it to a clean namespace-close comment (e.g.,// namespace pmr/// 命名空间 pmr).🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/header_concurrent_flat_map_zh_Hans.adoc` at line 50, Replace the malformed namespace-close comment that currently reads "// 命名空间 pmr擦除" with a clean namespace-closing comment such as "// namespace pmr" (or the Chinese equivalent "// 命名空间 pmr") so the closing comment for the pmr namespace is correct and not corrupted.
🧹 Nitpick comments (2)
doc/modules/ROOT/pages/copyright_zh_Hans.adoc (1)
20-20: Use HTTPS for the Boost license link.Line 20 uses
http://...; switch it tohttps://...for consistency and safer external linking in rendered docs.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/copyright_zh_Hans.adoc` at line 20, Update the Boost license URL in the text string "根据Boost软件许可证1.0版分发。(详见随附文件 LICENSE++_++1++_++0.txt 或访问 http://www.boost.org/LICENSE_1_0.txt 。)" to use HTTPS instead of HTTP so the link becomes https://www.boost.org/LICENSE_1_0.txt; edit the literal line in copyright_zh_Hans.adoc (the sentence containing the Boost license URL) to replace "http://" with "https://".doc/modules/ROOT/pages/bibliography_zh_Hans.adoc (1)
7-7: Prefer HTTPS for external citation linkLine 7 uses
http://www.ddj.com/.... If the target supports HTTPS, please switch tohttps://to avoid mixed-content/security warnings and improve link reliability.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/bibliography_zh_Hans.adoc` at line 7, Update the external citation URL in the bibliography entry "* _C/C{plus}{plus}用户期刊_,2006年2月. Pete Becker. http://www.ddj.com/cpp/184402066[STL与TR1:第三部分 — 无序容器^]" to use HTTPS; replace "http://www.ddj.com/cpp/184402066" with "https://www.ddj.com/cpp/184402066" and keep the surrounding AsciiDoc link text/markup intact so the entry remains "* _C/C{plus}{plus}用户期刊_,2006年2月. Pete Becker. https://www.ddj.com/cpp/184402066[STL与TR1:第三部分 — 无序容器^]".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@doc/modules/ROOT/pages/hash_equality_zh_Hans.adoc`:
- Around line 1-145: The file contains English content in a Chinese-localized
document (title "Equality Predicates and Hash Functions", body text, captions,
table headers, and explanatory prose) and must be translated into Simplified
Chinese; keep all code blocks and identifiers unchanged (e.g., structs
iequal_to, ihash, point, point_hash, hash_value and method signatures like
hasher hash_function() const / key_equal key_eq() const), translate the document
title, paragraphs, captions (including the table caption and "Methods for
accessing the hash and equality functions"), notes/CAUTION text, links' visible
text, and any inline text while preserving code examples, file/example links,
and markup structure (idprefix: hash_equality_, captions, and table formatting).
In
`@doc/modules/ROOT/pages/reference/header_concurrent_flat_map_fwd_zh_Hans.adoc`:
- Around line 1-6: Replace the English phrases in this Chinese-localized file:
change the section title "Synopsis" to "概要" for the header
`<boost/unordered/concurrent_flat_map_fwd.hpp>` (id symbol
header_concurrent_flat_map_fwd) and translate the description line to Chinese —
e.g. replace "Forward declares all the definitions in
xref:reference/header_concurrent_flat_map.adoc[`<boost/unordered/concurrent_flat_map.hpp>`]."
with "前向声明
xref:reference/header_concurrent_flat_map.adoc[`<boost/unordered/concurrent_flat_map.hpp>`]
中的所有定义。" so the file content matches the `_zh_Hans` localization.
In `@doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc`:
- Around line 80-83: The initializer-list constructor declarations for
unordered_flat_map are missing the comma after the parameter "size_type n =
_implementation-defined_"; update both initializer-list constructor signatures
to insert a comma between "size_type n = _implementation-defined_" and the next
parameter "const hasher& hf = hasher()" so the parameter list reads
"...size_type n = _implementation-defined_, const hasher& hf = hasher(), const
key_equal& eql = key_equal(), const allocator_type& a = allocator_type()".
In `@doc/modules/ROOT/pages/reference/unordered_flat_set_zh_Hans.adoc`:
- Around line 1-1387: The file unordered_flat_set_zh_Hans.adoc is in English
while it should be Simplified Chinese; translate all user-facing English text
(section headings like Synopsis, Description, Constructors, Iterators,
Modifiers, Observers, Lookup, Hash Policy, Statistics, Serialization, and
explanatory paragraphs and notes) into Chinese while preserving all code
identifiers and symbols (e.g. boost::unordered_flat_set, unordered_flat_set,
emplace, find, erase, rehash, reserve, get_stats, reset_stats), inline code
blocks, xref/link macros, examples, and formatting verbatim so references and
cross-links remain valid; ensure technical terms are correctly localized in
Simplified Chinese and that no code, signatures, macros or xref targets are
altered.
In `@doc/modules/ROOT/pages/reference/unordered_map_zh_Hans.adoc`:
- Around line 1-1944: The file unordered_map_zh_Hans.adoc contains English
documentation but is intended as Simplified Chinese; translate all English text
into Chinese while preserving technical identifiers and cross-refs (e.g. the
class template name "boost::unordered_map", constructors like "unordered_map()",
member names such as "emplace", "find", "erase", and deduction guide labels like
"__iter-key-type__"), keep all code blocks, macros
(BOOST_UNORDERED_ENABLE_SERIALIZATION_COMPATIBILITY_V0), signatures and xref
targets unchanged, and ensure sections (Template Parameters, Constructors,
Modifiers, Lookup, Bucket Interface, Hash Policy, Serialization, etc.) are fully
converted to Simplified Chinese and maintain the original formatting and
admonitions.
---
Major comments:
In `@doc/modules/ROOT/nav_zh_Hans.adoc`:
- Around line 1-51: The nav_zh_Hans.adoc xref entries point to non-localized
filenames (e.g., xref:intro.adoc, xref:buckets.adoc and all reference
xref:reference/*.adoc entries); update each xref target to its Chinese localized
counterpart by appending _zh_Hans before .adoc (e.g., xref:intro_zh_Hans.adoc,
xref:buckets_zh_Hans.adoc and
xref:reference/header_unordered_map_fwd_zh_Hans.adoc etc.), and apply this
rename consistently for every xref in the file so all links reference the
existing localized pages.
In `@doc/modules/ROOT/pages/compliance_zh_Hans.adoc`:
- Line 48: Update the C++ version token "C{plus}{plus}1" to "C{plus}{plus}11" in
the Boost.Unordered description and remove or correct references to non-standard
containers "std::unordered_flat_set" and "std::unordered_flat_map": either
replace them with the standard containers "std::unordered_set" and
"std::unordered_map" or explicitly state that the flat variants are
Boost-provided types (e.g., refer to Boost.Unordered's
unordered_flat_set/unordered_flat_map) so the text no longer implies those types
exist in the C++ standard library.
In `@doc/modules/ROOT/pages/ref_zh_Hans.adoc`:
- Around line 1-39: The xref targets in ref_zh_Hans.adoc point to English files;
update every xref target (e.g., reference/header_unordered_map_fwd.adoc,
reference/header_unordered_map_top.adoc, reference/unordered_map.adoc,
reference/unordered_multimap.adoc, etc.) to use the Chinese filenames by
appending _zh_Hans before the .adoc extension (for example change
reference/header_unordered_map_fwd.adoc →
reference/header_unordered_map_fwd_zh_Hans.adoc and
reference/header_unordered_map_top.adoc →
reference/header_unordered_map_top_zh_Hans.adoc), and apply this same suffix
change consistently to all xref entries in ref_zh_Hans.adoc.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc`:
- Around line 1169-1172: The documentation uses incorrect API names: replace the
declarations of insert_or_visit and insert_or_cvisit with the correct overload
names insert_and_visit and insert_and_cvisit in the "Insert Iterator Range and
Visit" block; update both the plain and the template declarations so the
signatures read size_type insert_and_visit(InputIterator first, InputIterator
last, F1 f1, F2 f2); and template<class InputIterator, class F1, class F2>
size_type insert_and_cvisit(InputIterator first, InputIterator last, F1 f1, F2
f2); ensuring the symbol names match the actual API.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc`:
- Around line 67-70: The initializer-list constructor declarations for
concurrent_flat_set (the signatures containing "size_type n =
_implementation-defined_" followed by "const hasher& hf = hasher(), const
key_equal& eql = key_equal(), const allocator_type& a = allocator_type()") are
missing a comma after the size_type parameter; update both occurrences (the
initializer-list constructor declarations around the existing "size_type n =
_implementation-defined_" and the matching one later) to insert a comma
immediately after that parameter so the parameter list reads "size_type n =
_implementation-defined_," before the hasher parameter, ensuring the constructor
signatures are valid.
In `@doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc`:
- Around line 75-78: The documented constructor signatures for
concurrent_node_map have a missing comma after the parameter "size_type n =
_implementation-defined_" which breaks the C++ declaration; update both
initializer-list constructor signatures (the ones that include "size_type n =
_implementation-defined_", "const hasher& hf = hasher()", "const key_equal& eql
= key_equal()", "const allocator_type& a = allocator_type()") by inserting a
trailing comma immediately after the "size_type n = _implementation-defined_"
parameter so the parameter list is syntactically valid.
- Around line 1242-1245: Update the documented function signatures in the
"Insert Iterator Range and Visit" section: rename insert_or_visit to
insert_and_visit and insert_or_cvisit to insert_and_cvisit to match the
two-callback naming pattern, and fix the parameter typo in the second signature
by changing the incorrect parameter declaration F1 f2 to F1 f1 so the templates
read consistently (reference the symbols insert_or_visit, insert_or_cvisit,
insert_and_visit, insert_and_cvisit and the parameter types F1/F2 when locating
the lines to change).
In `@doc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adoc`:
- Around line 1231-1232: The template declaration for insert_and_cvisit has a
lowercase type parameter typo; update the template parameter list so the third
parameter is declared as class F2 (matching the rest of the code) — locate the
template<class InputIterator, class F1, class f2> line and change the parameter
name to F2 so it matches the function signature insert_and_cvisit(InputIterator
first, InputIterator last, F1 f1, F2 f2).
- Around line 1180-1185: The doc has two typos: in the second template overload
declaration for insert_and_cvisit change the parameter name from F1 f2 to F1 f1
so the signatures read consistently (template<class F1, class F2> bool
insert_and_cvisit(const value_type& obj, F1 f1, F2 f2)); and update the prose
that currently says “invokes `f`” to explicitly reference `f2` for the case that
an equivalent element exists (so the text describes invoking f1 for newly
created element and f2 for the existing element).
- Around line 200-201: The second template declaration currently links
extract_if to the wrong anchor (`#concurrent_node_set_extract`); update the xref
for the overload so both lines point to the extract_if anchor (use
`#concurrent_node_set_extract_if`) — adjust the xref on the line with
"template<class K, class F> node_type
xref:`#concurrent_node_set_extract`[extract_if](const K& k, F f);" so it
references `#concurrent_node_set_extract_if` like the first declaration does.
- Around line 1161-1164: The declarations currently use the wrong names
emplace_or_visit and emplace_or_cvisit; update those function declarations to
emplace_and_visit and emplace_and_cvisit respectively so they match the
emplace_and_[c]visit section and synopsis (change the template lines that
reference emplace_or_visit and emplace_or_cvisit to use emplace_and_visit and
emplace_and_cvisit).
In `@doc/modules/ROOT/pages/reference/header_unordered_map_top_zh_Hans.adoc`:
- Line 1: Change the anchor ID at the top of the page from
header_unordered_map_fwd_top to header_unordered_map_top so it matches the
:idprefix: and the documented header <boost/unordered_map.hpp>; locate and
update the tag [`#header_unordered_map_fwd_top`] to [`#header_unordered_map_top`]
(also check for the same erroneous "fwd" anchor in
header_unordered_set_top_zh_Hans.adoc and fix it similarly).
In `@doc/modules/ROOT/pages/reference/header_unordered_set_top_zh_Hans.adoc`:
- Line 1: The anchor ID header_unordered_set_fwd_top is incorrect (contains
"fwd") and must be changed to match the page's :idprefix: and actual header;
update the anchor to header_unordered_set_top so it reflects the top-level
convenience header <boost/unordered_set.hpp> and restores correct
cross-references (search for the existing anchor header_unordered_set_fwd_top
and replace it with header_unordered_set_top).
In `@doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc`:
- Around line 801-803: The Returns documentation incorrectly mentions a "bool
component" for the hint-based overloads; update the Returns text for
emplace_hint, insert(const_iterator hint, const value_type&), and
insert(const_iterator hint, value_type&&) to remove any reference to a bool and
state only the iterator behavior: "Returns an iterator to the newly inserted
element if an insert took place, otherwise an iterator to the element with an
equivalent key." Ensure this revised sentence replaces the existing multi-line
Returns paragraphs that refer to a bool component.
In `@doc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc`:
- Around line 75-77: The constructor synopsis for unordered_multiset that starts
with "const allocator_type& a)" is missing its terminating semicolon; update the
declaration for the initializer-list constructor (the line ending in ")") to end
with ");" so it matches the following declaration style and completes the
declaration for
unordered_multiset_initializer_list_constructor_with_bucket_count_and_hasher_and_allocator.
- Around line 895-896: The documentation for
unordered_multiset::insert(initializer_list<value_type> il) wrongly enforces
unique-key semantics; update the text for insert(initializer_list<value_type>
il) to match unordered_multiset behavior (duplicates allowed) by removing the
phrase "Elements are inserted if and only if there is no element in the
container with an equivalent key" and replacing it with a statement that all
elements from the initializer_list are inserted and that equivalent keys
(duplicates) are permitted, consistent with
unordered_multiset::insert(iterator_range).
---
Minor comments:
In `@doc/modules/ROOT/pages/changes_zh_Hans.adoc`:
- Line 229: Fix the typo where the changelog intro reads "本本次" — replace the
duplicated character with "本次" in the changes_zh_Hans.adoc entry (the sentence
containing "本本次为重大更新:容器已改用 Boost.Move 的移动操作模拟实现...") so the sentence begins
"本次为重大更新:...".
In `@doc/modules/ROOT/pages/concurrent_zh_Hans.adoc`:
- Line 223: Update the table title string in the caption definition to fix the
spelling mistake: replace "Concurrent/non-concurrent interoperatibility" with
"Concurrent/non-concurrent interoperability" in the caption entry (the line
containing [caption=",", title='Table {counter:table-counter}.
Concurrent/non-concurrent interoperatibility']).
In `@doc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adoc`:
- Around line 1498-1500: Remove the incorrect ExecutionPolicy constraint from
the "erase_if by Key" notes: in the paragraph describing the template<class K,
class F> overload for erase_if by Key, delete the phrase that says the overload
only participates when
std::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> is false;
instead leave the text stating that the overload requires Hash::is_transparent
and Pred::is_transparent (and that Hash must be callable with both K and Key to
enable heterogeneous lookup). Ensure the ExecutionPolicy constraint remains only
in the separate "Parallel erase_if" section.
In `@doc/modules/ROOT/pages/reference/header_concurrent_flat_map_zh_Hans.adoc`:
- Line 50: Replace the malformed namespace-close comment that currently reads
"// 命名空间 pmr擦除" with a clean namespace-closing comment such as "// namespace
pmr" (or the Chinese equivalent "// 命名空间 pmr") so the closing comment for the
pmr namespace is correct and not corrupted.
In `@doc/modules/ROOT/pages/reference/header_unordered_map_fwd_zh_Hans.adoc`:
- Line 6: Update the cross-reference in header_unordered_map_fwd_zh_Hans.adoc so
it points to the Chinese localized page instead of the English one: replace the
target xref:reference/header_unordered_map.adoc with
xref:reference/header_unordered_map_zh_Hans.adoc (and if that localized file is
not present, keep the original as a fallback); ensure the existing link text and
formatting around the `++<++boost/unordered/unordered++_++map.hpp++>++` token
remain unchanged.
In `@doc/modules/ROOT/pages/reference/header_unordered_node_map_fwd_zh_Hans.adoc`:
- Line 6: Update the xref in the forward-declaration file so it points to the
localized page instead of the English one: replace the link target
`reference/header_unordered_node_map.adoc` with
`reference/header_unordered_node_map_zh_Hans.adoc` (or conditionally use the
localized file if it exists) so the xref in this file uses the same zh_Hans
localization and avoids switching languages in navigation.
In `@doc/modules/ROOT/pages/reference/header_unordered_node_set_fwd_zh_Hans.adoc`:
- Around line 2-6: Translate the two remaining English strings in
header_unordered_node_set_fwd_zh_Hans.adoc to Simplified Chinese: replace the
heading "Synopsis" with the Chinese equivalent (e.g., "概要" or "概述") and
translate the sentence "Forward declares all the definitions in
xref:reference/header_unordered_node_set.adoc[`<boost/unordered/unordered_node_set.hpp>`]."
into Chinese while preserving the xref link and the code tag
`<boost/unordered/unordered_node_set.hpp>`; update the text so the locale
matches the rest of the zh_Hans document.
In `@doc/modules/ROOT/pages/reference/header_unordered_node_set_zh_Hans.adoc`:
- Around line 2-40: The file mixes Chinese and English labels; change the
English headings/labels to Simplified Chinese: replace "Synopsis" with a zh_Hans
equivalent (e.g., "概要" or "摘要") and localize "Pmr aliases (C++17 and up)" to a
Chinese phrase indicating PMR 别名及其适用的 C++ 版本 (e.g., "Pmr 别名(C++17 及更高)"); keep
the rest of the Chinese comments intact and ensure any other English labels in
the same block (such as listing captions or inline English comments) are
similarly translated so the page is consistently zh_Hans while preserving
identifiers like unordered_node_set, operator==, swap, and erase_if.
In `@doc/modules/ROOT/pages/reference/header_unordered_set_fwd_zh_Hans.adoc`:
- Line 6: Update the cross-reference in header_unordered_set_fwd_zh_Hans.adoc so
it points to the localized page reference/header_unordered_set_zh_Hans.adoc
instead of reference/header_unordered_set.adoc (change the xref target used in
the link `reference/header_unordered_set.adoc`), and if the localized file does
not exist ensure there is a fallback or create
reference/header_unordered_set_zh_Hans.adoc so the zh_Hans page keeps language
continuity.
---
Nitpick comments:
In `@doc/modules/ROOT/pages/bibliography_zh_Hans.adoc`:
- Line 7: Update the external citation URL in the bibliography entry "*
_C/C{plus}{plus}用户期刊_,2006年2月. Pete Becker.
http://www.ddj.com/cpp/184402066[STL与TR1:第三部分 — 无序容器^]" to use HTTPS; replace
"http://www.ddj.com/cpp/184402066" with "https://www.ddj.com/cpp/184402066" and
keep the surrounding AsciiDoc link text/markup intact so the entry remains "*
_C/C{plus}{plus}用户期刊_,2006年2月. Pete Becker.
https://www.ddj.com/cpp/184402066[STL与TR1:第三部分 — 无序容器^]".
In `@doc/modules/ROOT/pages/copyright_zh_Hans.adoc`:
- Line 20: Update the Boost license URL in the text string
"根据Boost软件许可证1.0版分发。(详见随附文件 LICENSE++_++1++_++0.txt 或访问
http://www.boost.org/LICENSE_1_0.txt 。)" to use HTTPS instead of HTTP so the
link becomes https://www.boost.org/LICENSE_1_0.txt; edit the literal line in
copyright_zh_Hans.adoc (the sentence containing the Boost license URL) to
replace "http://" with "https://".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: bbf1e993-0bc7-4a89-913a-d698f3a8debc
📒 Files selected for processing (52)
doc/modules/ROOT/nav_zh_Hans.adocdoc/modules/ROOT/pages/benchmarks_zh_Hans.adocdoc/modules/ROOT/pages/bibliography_zh_Hans.adocdoc/modules/ROOT/pages/buckets_zh_Hans.adocdoc/modules/ROOT/pages/changes_zh_Hans.adocdoc/modules/ROOT/pages/compliance_zh_Hans.adocdoc/modules/ROOT/pages/concurrent_zh_Hans.adocdoc/modules/ROOT/pages/copyright_zh_Hans.adocdoc/modules/ROOT/pages/debuggability_zh_Hans.adocdoc/modules/ROOT/pages/hash_equality_zh_Hans.adocdoc/modules/ROOT/pages/hash_quality_zh_Hans.adocdoc/modules/ROOT/pages/intro_zh_Hans.adocdoc/modules/ROOT/pages/rationale_zh_Hans.adocdoc/modules/ROOT/pages/ref_zh_Hans.adocdoc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/concurrent_node_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/concurrent_node_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/hash_traits_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_flat_map_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_flat_set_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_flat_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_node_map_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_node_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_node_set_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_node_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_flat_map_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_flat_set_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_flat_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_map_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_map_top_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_node_map_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_node_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_node_set_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_node_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_set_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_set_top_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/stats_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_flat_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_multimap_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_node_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_node_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_set_zh_Hans.adocdoc/modules/ROOT/pages/regular_zh_Hans.adocdoc/modules/ROOT/pages/structures_zh_Hans.adoc
| size_type n = _implementation-defined_ | ||
| const hasher& hf = hasher(), | ||
| const key_equal& eql = key_equal(), | ||
| const allocator_type& a = allocator_type()); |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
cat -n doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc | sed -n '75,90p'Repository: CppDigest/unordered
Length of output: 1808
🏁 Script executed:
cat -n doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc | sed -n '488,500p'Repository: CppDigest/unordered
Length of output: 671
Initializer-list constructor signatures are missing commas.
Both declarations at lines 80-83 and 493-496 omit the comma after size_type n = _implementation-defined_, displaying invalid C++ syntax. The comma is required before the next parameter const hasher& hf.
Suggested fix
Line 80: Add comma after _implementation-defined_
size_type n = _implementation-defined_,
const hasher& hf = hasher(),Line 493: Add comma after _implementation-defined_
size_type n = _implementation-defined_,
const hasher& hf = hasher(),📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| size_type n = _implementation-defined_ | |
| const hasher& hf = hasher(), | |
| const key_equal& eql = key_equal(), | |
| const allocator_type& a = allocator_type()); | |
| size_type n = _implementation-defined_, | |
| const hasher& hf = hasher(), | |
| const key_equal& eql = key_equal(), | |
| const allocator_type& a = allocator_type()); |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc` around
lines 80 - 83, The initializer-list constructor declarations for
unordered_flat_map are missing the comma after the parameter "size_type n =
_implementation-defined_"; update both initializer-list constructor signatures
to insert a comma between "size_type n = _implementation-defined_" and the next
parameter "const hasher& hf = hasher()" so the parameter list reads
"...size_type n = _implementation-defined_, const hasher& hf = hasher(), const
key_equal& eql = key_equal(), const allocator_type& a = allocator_type()".
Currently translated at 100.0% (28 of 28 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Debuggability (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-debuggability-adoc/zh_Hans/
Currently translated at 6.5% (28 of 430 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Flat Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-flat-map-adoc/zh_Hans/
Currently translated at 100.0% (31 of 31 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Hash Equality (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-hash-equality-adoc/zh_Hans/
Currently translated at 100.0% (2 of 2 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Header Concurrent Flat Map Fwd (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-header-concurrent-flat-map-fwd-adoc/zh_Hans/
Currently translated at 55.5% (239 of 430 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Flat Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-flat-map-adoc/zh_Hans/
Currently translated at 100.0% (12 of 12 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Header Concurrent Flat Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-header-concurrent-flat-map-adoc/zh_Hans/
Currently translated at 100.0% (12 of 12 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Header Concurrent Node Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-header-concurrent-node-map-adoc/zh_Hans/
Currently translated at 100.0% (2 of 2 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Header Unordered Node Set Fwd (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-header-unordered-node-set-fwd-adoc/zh_Hans/
Currently translated at 58.3% (7 of 12 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Header Unordered Node Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-header-unordered-node-set-adoc/zh_Hans/
Currently translated at 100.0% (387 of 387 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Flat Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-flat-map-adoc/zh_Hans/
Currently translated at 100.0% (344 of 344 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Flat Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-flat-set-adoc/zh_Hans/
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc`:
- Around line 108-113: The xref targets for the concurrent_flat_map bulk-visit
overloads are inconsistent and use `xref:concurrent_flat_map_bulk_visit[...]`
which can break same-page anchor resolution; update the three occurrences (the
two `visit` overloads and the `cvisit` overload) to use
`xref:`#concurrent_flat_map_bulk_visit`[...]` so they match the local anchor
naming convention (e.g., replace `xref:concurrent_flat_map_bulk_visit[visit]`
and `xref:concurrent_flat_map_bulk_visit[cvisit]` with
`xref:`#concurrent_flat_map_bulk_visit`[visit]` and
`xref:`#concurrent_flat_map_bulk_visit`[cvisit]`).
- Line 1240:
修正第1240行中被损坏的中文表述:把碎裂的短语(例如“成员类别名义时...会才参与重决议析”)替换为通顺的描述,确保使用正确的符号名称
Hash::is_transparent、Pred::is_transparent 和 模板签名 template<class K, class...
Args>,例如将句子改为“仅当 Hash::is_transparent 和 Pred::is_transparent
均为有效的成员类型名时,template<class K, class... Args> 重载才会参与重载决议。标准库假设 Hash 可同时被 K 和 Key
调用,且 Pred 为透明,从而支持异构查找以避免实例化 Key 类型的开销。”以恢复可读性和专业性。
- Around line 71-75: The constructor signature for concurrent_flat_map's
initializer-list overload is missing a comma after the defaulted parameter
`size_type n = _implementation-defined_`; update the declaration in the
concurrent_flat_map initializer_list constructor (the xref starting with
concurrent_flat_map(std::initializer_list<value_type> il, size_type n =
_implementation-defined_) ) to insert a comma between the `n` parameter and the
next parameter `const hasher& hf` so the parameter list reads "... size_type n =
_implementation-defined_, const hasher& hf = hasher(), const key_equal& eql =
key_equal(), const allocator_type& a = allocator_type());".
- Line 1410: The template constraint for the overload declared as template<class
K, class F> incorrectly references ExecutionPolicy; update the constraint to
test the first template parameter K instead (e.g. use
std::is_execution_policy_v<std::remove_cvref_t<K>> being false) so this overload
is disabled when K is an execution policy and thus distinguishes it from
template<class ExecutionPolicy, class F>; locate the sentence that currently
contains std::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> and
replace ExecutionPolicy with K (keeping the remove_cvref_t and negation as
shown).
- Around line 1168-1171: The documentation shows incorrect function names: the
templates declared as insert_or_visit and insert_or_cvisit actually belong to
the insert_and_visit / insert_and_cvisit family (they take two functors F1, F2).
Update the declarations to use insert_and_visit(InputIterator, InputIterator, F1
f1, F2 f2) and insert_and_cvisit(InputIterator, InputIterator, F1 f1, F2 f2) so
the signatures match the section heading and earlier API; ensure any surrounding
references in this "insert_and_[c]visit" section also use the insert_and_* names
consistently.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: dfc6a4b9-bf07-480a-95be-75e58efd16fb
📒 Files selected for processing (10)
doc/modules/ROOT/pages/debuggability_zh_Hans.adocdoc/modules/ROOT/pages/hash_equality_zh_Hans.adocdoc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_flat_map_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_concurrent_node_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_node_set_fwd_zh_Hans.adocdoc/modules/ROOT/pages/reference/header_unordered_node_set_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_flat_set_zh_Hans.adoc
✅ Files skipped from review due to trivial changes (7)
- doc/modules/ROOT/pages/reference/header_concurrent_flat_map_fwd_zh_Hans.adoc
- doc/modules/ROOT/pages/reference/header_unordered_node_set_zh_Hans.adoc
- doc/modules/ROOT/pages/hash_equality_zh_Hans.adoc
- doc/modules/ROOT/pages/debuggability_zh_Hans.adoc
- doc/modules/ROOT/pages/reference/unordered_flat_set_zh_Hans.adoc
- doc/modules/ROOT/pages/reference/header_unordered_node_set_fwd_zh_Hans.adoc
- doc/modules/ROOT/pages/reference/header_concurrent_flat_map_zh_Hans.adoc
🚧 Files skipped from review as they are similar to previous changes (2)
- doc/modules/ROOT/pages/reference/header_concurrent_node_map_zh_Hans.adoc
- doc/modules/ROOT/pages/reference/unordered_flat_map_zh_Hans.adoc
| xref:#concurrent_flat_map_initializer_list_constructor[concurrent_flat_map](std::initializer_list<value_type> il, | ||
| size_type n = _implementation-defined_ | ||
| const hasher& hf = hasher(), | ||
| const key_equal& eql = key_equal(), | ||
| const allocator_type& a = allocator_type()); |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify this signature against the English source page and the zh_Hans page.
fd -i 'concurrent_flat_map*.adoc' doc | xargs -I{} rg -n "initializer_list<value_type> il|_implementation-defined_|const hasher& hf" {}Repository: CppDigest/unordered
Length of output: 3442
Missing comma in constructor signature breaks parameter list syntax
The initializer list constructor is missing a comma after the n parameter on line 72, causing invalid syntax. The size_type n = _implementation-defined_ declaration must be followed by a comma before the const hasher& hf parameter.
Required fix
concurrent_flat_map(std::initializer_list<value_type> il,
- size_type n = _implementation-defined_
+ size_type n = _implementation-defined_,
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type());📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| xref:#concurrent_flat_map_initializer_list_constructor[concurrent_flat_map](std::initializer_list<value_type> il, | |
| size_type n = _implementation-defined_ | |
| const hasher& hf = hasher(), | |
| const key_equal& eql = key_equal(), | |
| const allocator_type& a = allocator_type()); | |
| xref:`#concurrent_flat_map_initializer_list_constructor`[concurrent_flat_map](std::initializer_list<value_type> il, | |
| size_type n = _implementation-defined_, | |
| const hasher& hf = hasher(), | |
| const key_equal& eql = key_equal(), | |
| const allocator_type& a = allocator_type()); |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc` around
lines 71 - 75, The constructor signature for concurrent_flat_map's
initializer-list overload is missing a comma after the defaulted parameter
`size_type n = _implementation-defined_`; update the declaration in the
concurrent_flat_map initializer_list constructor (the xref starting with
concurrent_flat_map(std::initializer_list<value_type> il, size_type n =
_implementation-defined_) ) to insert a comma between the `n` parameter and the
next parameter `const hasher& hf` so the parameter list reads "... size_type n =
_implementation-defined_, const hasher& hf = hasher(), const key_equal& eql =
key_equal(), const allocator_type& a = allocator_type());".
| size_t xref:concurrent_flat_map_bulk_visit[visit](FwdIterator first, FwdIterator last, F f); | ||
| template<class FwdIterator, class F> | ||
| size_t xref:concurrent_flat_map_bulk_visit[visit](FwdIterator first, FwdIterator last, F f) const; | ||
| template<class FwdIterator, class F> | ||
| size_t xref:concurrent_flat_map_bulk_visit[cvisit](FwdIterator first, FwdIterator last, F f) const; | ||
|
|
There was a problem hiding this comment.
Inconsistent internal xref target may break anchor resolution
Line 108 and Line 408 use xref:concurrent_flat_map_bulk_visit[...] while nearby internal anchors use xref:#.... Please normalize to xref:#concurrent_flat_map_bulk_visit[...] for same-page anchor consistency.
Also applies to: 408-408
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc` around
lines 108 - 113, The xref targets for the concurrent_flat_map bulk-visit
overloads are inconsistent and use `xref:concurrent_flat_map_bulk_visit[...]`
which can break same-page anchor resolution; update the three occurrences (the
two `visit` overloads and the `cvisit` overload) to use
`xref:`#concurrent_flat_map_bulk_visit`[...]` so they match the local anchor
naming convention (e.g., replace `xref:concurrent_flat_map_bulk_visit[visit]`
and `xref:concurrent_flat_map_bulk_visit[cvisit]` with
`xref:`#concurrent_flat_map_bulk_visit`[visit]` and
`xref:`#concurrent_flat_map_bulk_visit`[cvisit]`).
| Throws:;; Only throws an exception if it is thrown by `hasher`, `key_equal` or `f`. | ||
| 注意;; `f` is passed a non-const reference to `x`. + | ||
| + | ||
| 仅当 `std::is++_++execution++_++policy++_++v++<++std::remove++_++cvref++_++t++<++ExecutionPolicy++>>++` 为 `false` 时, `template++<++class K, class F++>++` 重载才会参与重载决议。 + |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify whether this constraint should refer to K by comparing similar wording in related docs.
fd -i 'concurrent_flat_map*.adoc' doc | xargs -I{} rg -n "is_execution_policy_v|template<class K, class F> size_type erase_if|ExecutionPolicy" {}Repository: CppDigest/unordered
Length of output: 2508
🏁 Script executed:
sed -n '1400,1470p' doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adocRepository: CppDigest/unordered
Length of output: 2113
Template constraint references non-existent type parameter
The constraint on the template<class K, class F> overload at line 1434 incorrectly references ExecutionPolicy, which is not a parameter of this template. The parameter exists only in the separate parallel overload. The constraint should check whether the first parameter is an execution policy to distinguish this overload from the template<class ExecutionPolicy, class F> parallel version—likely using std::is_execution_policy_v applied to K instead.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_map_zh_Hans.adoc` at line
1410, The template constraint for the overload declared as template<class K,
class F> incorrectly references ExecutionPolicy; update the constraint to test
the first template parameter K instead (e.g. use
std::is_execution_policy_v<std::remove_cvref_t<K>> being false) so this overload
is disabled when K is an execution policy and thus distinguishes it from
template<class ExecutionPolicy, class F>; locate the sentence that currently
contains std::is_execution_policy_v<std::remove_cvref_t<ExecutionPolicy>> and
replace ExecutionPolicy with K (keeping the remove_cvref_t and negation as
shown).
Currently translated at 100.0% (437 of 437 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-map-adoc/zh_Hans/
Currently translated at 100.0% (391 of 391 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Multimap (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-multimap-adoc/zh_Hans/
Currently translated at 100.0% (372 of 372 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Multiset (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-multiset-adoc/zh_Hans/
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@doc/modules/ROOT/pages/reference/unordered_map_zh_Hans.adoc`:
- Around line 1804-1827: The three type aliases __iter-key-type__,
__iter-mapped-type__, and __iter-to-alloc-type__ contain a typo using the token
"std;;" instead of the C++ namespace qualifier "std::"; update all occurrences
of "std;;" to "std::" within those templates (including in uses of
remove_const_t, tuple_element_t, add_const_t, pair, and tuple_element_t
references to __iter-value-type__) so the declarations compile correctly.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 194583db-e76f-48e4-9841-659c4b12cc9a
📒 Files selected for processing (3)
doc/modules/ROOT/pages/reference/unordered_map_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_multimap_zh_Hans.adocdoc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc
🚧 Files skipped from review as they are similar to previous changes (1)
- doc/modules/ROOT/pages/reference/unordered_multiset_zh_Hans.adoc
| ==== __iter-key-type__ | ||
| [listings, subs="+macros,+quotes"] | ||
| ----- | ||
| template<class InputIterator> | ||
| using __iter-key-type__ = std;;remove_const_t< | ||
| std;;tuple_element_t<0, xref:#unordered_map_iter_value_type[__iter-value-type__]<InputIterator>>>; // exposition only | ||
| ----- | ||
|
|
||
| ==== __iter-mapped-type__ | ||
| [listings, subs="+macros,+quotes"] | ||
| ----- | ||
| template<class InputIterator> | ||
| using __iter-mapped-type__ = | ||
| std;;tuple_element_t<1, xref:#unordered_map_iter_value_type[__iter-value-type__]<InputIterator>>; // exposition only | ||
| ----- | ||
|
|
||
| ==== __iter-to-alloc-type__ | ||
| [listings, subs="+macros,+quotes"] | ||
| ----- | ||
| template<class InputIterator> | ||
| using __iter-to-alloc-type__ = std;;pair< | ||
| std;;add_const_t<std;;tuple_element_t<0, xref:#unordered_map_iter_value_type[__iter-value-type__]<InputIterator>>>, | ||
| std;;tuple_element_t<1, xref:#unordered_map_iter_value_type[__iter-value-type__]<InputIterator>>>; // exposition only | ||
| ----- |
There was a problem hiding this comment.
Critical syntax error: std;; should be std::
The deduction guides section contains multiple instances where the C++ namespace qualifier is incorrectly written as std;; (double semicolon) instead of std:: (double colon). This syntax error would prevent the code from compiling if used as a reference.
🔧 Proposed fix for namespace qualifiers
template<class InputIterator>
- using __iter-key-type__ = std;;remove_const_t<
- std;;tuple_element_t<0, xref:`#unordered_map_iter_value_type`[__iter-value-type__]<InputIterator>>>; // exposition only
+ using __iter-key-type__ = std::remove_const_t<
+ std::tuple_element_t<0, xref:`#unordered_map_iter_value_type`[__iter-value-type__]<InputIterator>>>; // exposition only template<class InputIterator>
- using __iter-to-alloc-type__ = std;;pair<
- std;;add_const_t<std;;tuple_element_t<0, xref:`#unordered_map_iter_value_type`[__iter-value-type__]<InputIterator>>>,
- std;;tuple_element_t<1, xref:`#unordered_map_iter_value_type`[__iter-value-type__]<InputIterator>>>; // exposition only
+ using __iter-to-alloc-type__ = std::pair<
+ std::add_const_t<std::tuple_element_t<0, xref:`#unordered_map_iter_value_type`[__iter-value-type__]<InputIterator>>>,
+ std::tuple_element_t<1, xref:`#unordered_map_iter_value_type`[__iter-value-type__]<InputIterator>>>; // exposition only🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/unordered_map_zh_Hans.adoc` around lines
1804 - 1827, The three type aliases __iter-key-type__, __iter-mapped-type__, and
__iter-to-alloc-type__ contain a typo using the token "std;;" instead of the C++
namespace qualifier "std::"; update all occurrences of "std;;" to "std::" within
those templates (including in uses of remove_const_t, tuple_element_t,
add_const_t, pair, and tuple_element_t references to __iter-value-type__) so the
declarations compile correctly.
Currently translated at 100.0% (412 of 412 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Node Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-node-map-adoc/zh_Hans/
Currently translated at 100.0% (371 of 371 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Node Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-node-set-adoc/zh_Hans/
Currently translated at 100.0% (390 of 390 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Unordered Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-unordered-set-adoc/zh_Hans/
Currently translated at 100.0% (80 of 80 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Regular (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-regular-adoc/zh_Hans/
Currently translated at 100.0% (57 of 57 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Structures (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-structures-adoc/zh_Hans/
Currently translated at 100.0% (430 of 430 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Flat Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-flat-map-adoc/zh_Hans/
Currently translated at 100.0% (397 of 397 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Flat Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-flat-set-adoc/zh_Hans/
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (1)
doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc (1)
1217-1217: 异构查找说明存在重复短语,影响可读性。Line 1217、Line 1376、Line 1393 都出现“这支持异构查找,该机制支持异构查找”的重复表达,建议保留一次即可。
建议修复
-...且 `Pred` 为透明的。这支持异构查找,该机制支持异构查找,从而避免实例化 `Key` 类型的开销。 +...且 `Pred` 为透明的。该机制支持异构查找,从而避免实例化 `Key` 类型的开销。Also applies to: 1376-1376, 1393-1393
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc` at line 1217, The text contains a duplicated phrase ("这支持异构查找,该机制支持异构查找") in the documentation sentences that describe transparent hash/predicate overloads; update the occurrences where `Hash::is++_++transparent`, `Pred::is++_++transparent`, and the `template++<++class K++>++` overload are mentioned to remove the repetition so the sentence reads once (e.g., "这支持异构查找。") while preserving the technical terms and surrounding explanation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc`:
- Line 1215: The documentation for the `erase` and `erase_if` functions
mistakenly says "返回;; 插入的元素数量(0 或 1)" — update the return-value description to
"擦除的元素数量(0 或 1)" for both `erase` and `erase_if` occurrences (the markup around
the text at the two instances that currently read "返回;; 插入的元素数量(0 或 1)。"), so
the description correctly reflects the number of elements removed.
- Around line 66-70: The initializer-list constructor signature for
concurrent_flat_set (xref:`#concurrent_flat_set_initializer_list_constructor`) is
missing a comma after the parameter "size_type n = _implementation-defined_",
causing an incorrect API declaration; update the declaration so each parameter
is comma-separated (insert a comma after that parameter) and ensure the same fix
is applied to the other occurrences around the concurrent_flat_set
initializer-list signature (lines noted in the comment) so the signature matches
the standard form including hasher, key_equal, and allocator parameters.
- Around line 539-544: The constructor documentation for
concurrent_flat_set(size_type n, allocator_type const& a) incorrectly refers to
a non-existent parameter `hf`; update the text to state that the container is
constructed with at least `n` buckets using the default hash function, the
default key-equality predicate, and allocator `a` (i.e., replace "使用 `hf`
作为哈希函数" with "使用默认哈希函数" and ensure the rest mentions the default equality
predicate and allocator `a`).
- Around line 331-334: Replace the misleading phrase "非可变修改" with "const 限定修改"
(reflecting the English "Const-qualified modifications") throughout the
paragraph describing concurrent guarantees; update both the single-line entry
and the subsequent bullets that reference this condition so the terminology is
consistent, and ensure any adjacent wording still reads naturally after the
substitution.
---
Nitpick comments:
In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc`:
- Line 1217: The text contains a duplicated phrase ("这支持异构查找,该机制支持异构查找") in the
documentation sentences that describe transparent hash/predicate overloads;
update the occurrences where `Hash::is++_++transparent`,
`Pred::is++_++transparent`, and the `template++<++class K++>++` overload are
mentioned to remove the repetition so the sentence reads once (e.g., "这支持异构查找。")
while preserving the technical terms and surrounding explanation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: f01baee3-b954-449f-9a15-b7e8a3c46f28
📒 Files selected for processing (1)
doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc
| xref:#concurrent_flat_set_initializer_list_constructor[concurrent_flat_set](std::initializer_list<value_type> il, | ||
| size_type n = _implementation-defined_ | ||
| const hasher& hf = hasher(), | ||
| const key_equal& eql = key_equal(), | ||
| const allocator_type& a = allocator_type()); |
There was a problem hiding this comment.
初始化列表构造函数签名缺少逗号,导致 API 声明不正确。
Line 67 和 Line 523 后缺少参数分隔逗号(size_type n = _implementation-defined_ 后),当前展示的声明与标准签名不一致。
建议修复
- xref:`#concurrent_flat_set_initializer_list_constructor`[concurrent_flat_set](std::initializer_list<value_type> il,
- size_type n = _implementation-defined_
+ xref:`#concurrent_flat_set_initializer_list_constructor`[concurrent_flat_set](std::initializer_list<value_type> il,
+ size_type n = _implementation-defined_,
const hasher& hf = hasher(),-concurrent_flat_set(std::initializer_list<value_type> il,
- size_type n = _implementation-defined_
+concurrent_flat_set(std::initializer_list<value_type> il,
+ size_type n = _implementation-defined_,
const hasher& hf = hasher(),Also applies to: 522-526
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc` around
lines 66 - 70, The initializer-list constructor signature for
concurrent_flat_set (xref:`#concurrent_flat_set_initializer_list_constructor`) is
missing a comma after the parameter "size_type n = _implementation-defined_",
causing an incorrect API declaration; update the declaration so each parameter
is comma-separated (insert a comma after that parameter) and ensure the same fix
is applied to the other occurrences around the concurrent_flat_set
initializer-list signature (lines noted in the comment) so the signature matches
the standard form including hasher, key_equal, and allocator parameters.
| * 对元素的非可变修改。 | ||
| * 对元素的可变修改: | ||
| ** 在容器接受两个访问函数的操作中,此条件始终适用于第一个访问函数。 | ||
| ** 在名称不包含 `cvisit` 的非常量容器函数中,此条件适用于最后一个(或唯一一个)访问函数。 |
There was a problem hiding this comment.
并发保证条目“非可变修改”表述不准确,建议改为“const 限定修改”。
这里对应英文的 “Const-qualified modifications”,当前“非可变修改”容易被理解成“不能修改”,语义偏差较大。
建议修复
-* 对元素的非可变修改。
+* 对元素的 `const` 限定修改。📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| * 对元素的非可变修改。 | |
| * 对元素的可变修改: | |
| ** 在容器接受两个访问函数的操作中,此条件始终适用于第一个访问函数。 | |
| ** 在名称不包含 `cvisit` 的非常量容器函数中,此条件适用于最后一个(或唯一一个)访问函数。 | |
| * 对元素的 `const` 限定修改。 | |
| * 对元素的可变修改: | |
| ** 在容器接受两个访问函数的操作中,此条件始终适用于第一个访问函数。 | |
| ** 在名称不包含 `cvisit` 的非常量容器函数中,此条件适用于最后一个(或唯一一个)访问函数。 |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc` around
lines 331 - 334, Replace the misleading phrase "非可变修改" with "const 限定修改"
(reflecting the English "Const-qualified modifications") throughout the
paragraph describing concurrent guarantees; update both the single-line entry
and the subsequent bullets that reference this condition so the terminology is
consistent, and ensure any adjacent wording still reads naturally after the
substitution.
| concurrent_flat_set(size_type n, allocator_type const& a); | ||
|
|
||
| ``` | ||
|
|
||
| 构造一个至少包含 `n` 个桶的空容器,使用 `hf` 作为哈希函数、默认的键相等性谓词以及 `a` 作为分配器。 | ||
|
|
There was a problem hiding this comment.
构造函数说明引用了不存在的参数 hf。
Line 543 描述“使用 hf 作为哈希函数”,但该重载签名只有 (size_type n, allocator_type const& a),这里应描述为“使用默认哈希函数”。
建议修复
-构造一个至少包含 `n` 个桶的空容器,使用 `hf` 作为哈希函数、默认的键相等性谓词以及 `a` 作为分配器。
+构造一个至少包含 `n` 个桶的空容器,使用默认哈希函数、默认的键相等性谓词以及 `a` 作为分配器。🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@doc/modules/ROOT/pages/reference/concurrent_flat_set_zh_Hans.adoc` around
lines 539 - 544, The constructor documentation for concurrent_flat_set(size_type
n, allocator_type const& a) incorrectly refers to a non-existent parameter `hf`;
update the text to state that the container is constructed with at least `n`
buckets using the default hash function, the default key-equality predicate, and
allocator `a` (i.e., replace "使用 `hf` 作为哈希函数" with "使用默认哈希函数" and ensure the
rest mentions the default equality predicate and allocator `a`).
Currently translated at 100.0% (464 of 464 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Node Map (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-node-map-adoc/zh_Hans/
Currently translated at 100.0% (10 of 10 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Hash Traits (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-hash-traits-adoc/zh_Hans/
Currently translated at 1.6% (7 of 431 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Node Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-node-set-adoc/zh_Hans/
Currently translated at 100.0% (431 of 431 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Concurrent Node Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-concurrent-node-set-adoc/zh_Hans/
Currently translated at 100.0% (12 of 12 strings) Translation: Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Pages / Reference / Header Unordered Node Set (adoc) Translate-URL: https://boost-weblate.cloud/projects/boost-unordered-documentation-zh_Hans/doc-modules-root-pages-reference-header-unordered-node-set-adoc/zh_Hans/
Translations update from Boost-Weblate for Boost Unordered Translation (zh_Hans)/Doc / Modules / Root / Nav (adoc).
Current translation status:
Summary by CodeRabbit