20template <
typename Iterator>
25 for (
auto &&x : view) {
34TEST(listview, sequence) {
35 int array[] = {0, 1, 2, 3, 4, 5};
39 std::array<int, 6u> std_array = {0, 1, 2, 3, 4, 5};
43 std::vector<int> vector = {0, 1, 2, 3, 4, 5};
46 std::list<int> list = {0, 1, 2, 3, 4, 5};
48 std::set<int> set = {0, 1, 2, 3, 4, 5};
51TEST(listview,
string) {
52 std::string str =
"Hello list view!";
57 for (
char c : MakeListView(str)) {
61 ASSERT_EQ(result, str);
63 auto begin = std::begin(hello);
65 for (
char c : MakeListView(str.begin(), str.begin() + 5u)) {
70 ASSERT_EQ(std::strcmp(hello,
"Hello"), 0);
auto begin() const noexcept
名称范围迭代支持
代表容器中一段元素的视图,基本上是一对起始和结束迭代器。
static auto MakeListView(Iterator begin, Iterator end)
static void TestSequence(carla::ListView< Iterator > view)