{"id":18004555,"url":"https://github.com/erikzenker/chainiterator","last_synced_at":"2025-10-12T11:37:04.537Z","repository":{"id":151276428,"uuid":"146132620","full_name":"erikzenker/chainiterator","owner":"erikzenker","description":"Concat multiple C++ containers to a single iterable object","archived":false,"fork":false,"pushed_at":"2018-10-06T12:57:45.000Z","size":17,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-12T11:37:03.795Z","etag":null,"topics":["cpp","cpp14","iterator"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erikzenker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-25T22:02:59.000Z","updated_at":"2024-07-23T09:29:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"6dbc0ba8-348a-428f-b4a5-ba222a507906","html_url":"https://github.com/erikzenker/chainiterator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erikzenker/chainiterator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikzenker%2Fchainiterator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikzenker%2Fchainiterator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikzenker%2Fchainiterator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikzenker%2Fchainiterator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erikzenker","download_url":"https://codeload.github.com/erikzenker/chainiterator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikzenker%2Fchainiterator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279011180,"owners_count":26084900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp14","iterator"],"created_at":"2024-10-30T00:14:49.006Z","updated_at":"2025-10-12T11:37:04.493Z","avatar_url":"https://github.com/erikzenker.png","language":"CMake","readme":"# Chain Iterator #\n[![Build Status](https://travis-ci.org/erikzenker/chainiterator.svg?branch=master)](https://travis-ci.org/erikzenker/chainiterator) [![codecov](https://codecov.io/gh/erikzenker/chainiterator/branch/master/graph/badge.svg)](https://codecov.io/gh/erikzenker/chainiterator)\n=\n\n**Chain Iterator** is a C++ class which concats multiple C++ containers to a single iterable object.\n\n## Usage ##\n```c++\n// STL\n#include \u003ciostream\u003e\n#include \u003cvector\u003e\n#include \u003carray\u003e\n#include \u003clist\u003e\n\n#include \u003cChainIterator.h\u003e\n\nint main()\n{\n    std::vector\u003cint\u003e a{ 1, 2 };\n    std::vector\u003cint\u003e b{ 3, 4 };\n    std::array\u003cint, 2\u003e c{ 5, 6 };\n    std::list\u003cint\u003e d{ 7, 8 };\n\n    auto chainIterator = makeChainIterator(a,b,c,d);\n\n    for(auto\u0026 element : chainIterator){\n        std::cout \u003c\u003c element \u003c\u003c std::endl;\n    }\n\n    return 0;\n}\n\n``` \n\nOutput:\n```text\n1\n2\n3\n4\n5\n6\n7\n8\n```\n\n## Build Example ##\n```bash\nmkdir build; cd build\ncmake ..\ncmake --build chainiterator_example\n./example/chainiterator_example\n```\n\n## Build Tests ##\n```bash\nmkdir build; cd build\ncmake ..\ncmake --build chainiterator_unit_test\n./test/unit/chainiterator_unit_test\n\n```\n\n## Dependencies ##\n* boost 1.67\n* c++14\n\n## Licence ##\nMIT\n\n## Author ##\nWritten by Erik Zenker (erikzenker (at) hotmail.com)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikzenker%2Fchainiterator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferikzenker%2Fchainiterator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikzenker%2Fchainiterator/lists"}