diff options
-rw-r--r-- | include/libcamera/base/utils.h | 6 | ||||
-rw-r--r-- | test/utils.cpp | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h index 889bb4a2..ed88b716 100644 --- a/include/libcamera/base/utils.h +++ b/include/libcamera/base/utils.h @@ -170,6 +170,12 @@ public: class iterator { public: + using difference_type = std::size_t; + using value_type = std::string; + using pointer = value_type *; + using reference = value_type &; + using iterator_category = std::input_iterator_tag; + iterator(const StringSplitter *ss, std::string::size_type pos); iterator &operator++(); diff --git a/test/utils.cpp b/test/utils.cpp index 129807a6..58b5a59d 100644 --- a/test/utils.cpp +++ b/test/utils.cpp @@ -276,6 +276,14 @@ protected: return TestFail; } + const auto &split = utils::split(path, ":"); + dirs = std::vector<std::string>{ split.begin(), split.end() }; + + if (dirs != elements) { + cerr << "utils::split() LegacyInputIterator test failed" << endl; + return TestFail; + } + /* utils::join() with conversion function test. */ std::vector<Size> sizes = { { 0, 0 }, { 100, 100 } }; s = utils::join(sizes, "/", [](const Size &size) { |