Add Transparent Comparator Support
还没有人认领这个 Issue。
评估
调研方向
首先定位 variables_map 声明以及它继承的 std::map 基类。检查 C++14 对透明比较器的要求和 issue 中展示的现有 find 用法,然后检查模块中针对 variables_map 查找的测试。完成的标准是:查找操作可以接受兼容的类字符串键,而无需创建不必要的临时 std::string 对象,并且现有行为保持不变。
由索引模型根据 Issue 内容生成。
描述
It would be great of boost::program_options::variables_map could have transparent comparator support (c++14 feature), to potentially avoid unnecessary object creation when accessing values in the map. Theoretically only a std::less<> needs to be added as the third template parameter of the std::map variables_map inherits from. Currently:
// 1
boost::program_options::variable_map vm;
vm.find("test"); // implicit std::string object created and destoryed
// 2
std::string_view sv("test");
vm.find(sv); // does not compile
// 3
vm.find(std::string(sv)); // only way to inspect with a std::string_view, explicit std::string object created and destroyed
With a transparent comparator 1 will not create a std::string object and just compare directly against the c-string literal. 2 will work as shown without any extra objects being created. 3 will be unnecessary
- 主要语言
- C++
- 星标
- 136
- 派生
- 117
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
boostorg/program_options 的其他 Issue
-
难度 5/5 一周以上 新手友好度 45/100
boostorg/program_options#160 · 2 条评论 ·
-
难度 5/5 一周以上 新手友好度 25/100
boostorg/program_options#159 · 3 条评论 ·
-
难度 3/5 1-2 天 新手友好度 45/100
boostorg/program_options#147 ·
-
难度 5/5 一周以上 新手友好度 30/100
boostorg/program_options#146 ·
-
难度 2/5 1-3 小时 新手友好度 45/100
boostorg/program_options#144 ·
查看 boostorg/program_options 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Component: GLib
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 65/100
brave/brave-browser#59300 ·
-
Mute ydb/tests/functional/dstool/test_canonical_requests.py.Test.test_group_take_snapshot in main 未关闭ai_reviewed
难度 2/5 1-3 小时 新手友好度 70/100
ydb-platform/ydb#53974 · 3 条评论 ·