7
7
#pragma once
8
8
9
9
#include < boost/iterator/transform_iterator.hpp>
10
-
10
+ // 定义一个命名空间carla下的iterator命名空间
11
11
namespace carla {
12
12
namespace iterator {
13
13
@@ -23,7 +23,7 @@ namespace iterator {
23
23
// 使用 Boost 的 transform_iterator 创建一个新的迭代器,该迭代器在解引用时会调用 lambda 表达式,返回对键的非 const 引用
24
24
return boost::make_transform_iterator (it, [](auto &pair) -> ref_to_first { return pair.first ; });
25
25
}
26
- // / Creates an iterator over const references to the keys of a map.
26
+ // / 创建一个迭代器,该迭代器提供对map键的const引用的遍历。
27
27
template <typename It>
28
28
inline static auto make_map_keys_const_iterator (It it) {
29
29
using first_value_type = typename It::value_type::first_type;
@@ -32,7 +32,7 @@ namespace iterator {
32
32
return boost::make_transform_iterator (it, [](const auto &pair) -> const_ref_to_first { return pair.first ; });
33
33
}
34
34
35
- // / Creates an iterator over non-const references to the values of a map.
35
+ // / 创建一个迭代器,该迭代器提供对map值的非const引用的遍历。
36
36
template <typename It>
37
37
inline static auto make_map_values_iterator (It it) {
38
38
using second_value_type = typename It::value_type::second_type;
@@ -42,7 +42,7 @@ namespace iterator {
42
42
return boost::make_transform_iterator (it, [](auto &pair) -> ref_to_second { return pair.second ; });
43
43
}
44
44
45
- // / Creates an iterator over const references to the values of a map.
45
+ // / 创建一个迭代器,该迭代器提供对map值的const引用的遍历。
46
46
template <typename It>
47
47
inline static auto make_map_values_const_iterator (It it) {
48
48
using second_value_type = typename It::value_type::second_type;
0 commit comments