{"id":18184286,"url":"https://github.com/vovandreevik/datastruct-iterators","last_synced_at":"2026-07-23T01:31:45.808Z","repository":{"id":199596014,"uuid":"632830661","full_name":"vovandreevik/DataStruct-Iterators","owner":"vovandreevik","description":"This C++ program demonstrates how to read, process, and sort data using the DataStruct structure and custom sorting criteria.","archived":false,"fork":false,"pushed_at":"2023-10-26T20:02:20.000Z","size":139,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-06T10:39:29.039Z","etag":null,"topics":["cpp","iterator","oop","oops-in-cpp","struct"],"latest_commit_sha":null,"homepage":"","language":"C++","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/vovandreevik.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-26T08:12:44.000Z","updated_at":"2024-04-04T10:33:33.000Z","dependencies_parsed_at":"2025-10-06T10:23:54.006Z","dependency_job_id":"9c9dd3a3-7e78-47e2-8e1e-c7647fe1d276","html_url":"https://github.com/vovandreevik/DataStruct-Iterators","commit_stats":null,"previous_names":["vovandreevik/iterators"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vovandreevik/DataStruct-Iterators","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vovandreevik%2FDataStruct-Iterators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vovandreevik%2FDataStruct-Iterators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vovandreevik%2FDataStruct-Iterators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vovandreevik%2FDataStruct-Iterators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vovandreevik","download_url":"https://codeload.github.com/vovandreevik/DataStruct-Iterators/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vovandreevik%2FDataStruct-Iterators/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35784494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"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","iterator","oop","oops-in-cpp","struct"],"created_at":"2024-11-02T21:03:55.486Z","updated_at":"2026-07-23T01:31:45.792Z","avatar_url":"https://github.com/vovandreevik.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DataStruct and Sorting Using Iterators\nThis C++ program demonstrates how to read, process, and sort data using the DataStruct structure and custom sorting criteria. \n\nThe program reads data from an input file, parses it into DataStruct objects, sorts the objects, and then prints the sorted data. \n\nTo achieve this, the program heavily relies on iterators for data processing and sorting.\n\n## DataStruct is a C++ struct that represents data with three components:\n\nkey1: An unsigned long long integer (ull) extracted from the input as \"key1.\"\n\nkey2: An unsigned long long integer (ull) extracted from the input as \"key2,\" with values given in binary form (\"0b\").\n\nkey3: A string extracted from the input as \"key3\" enclosed in double quotes.\n\nThe program reads data in the format (:key1 ...:key2 ...:key3 ...:) from the input file, parses it, and constructs DataStruct objects.\n\n## Sorting DataStruct Objects with Iterators\nThe program uses iterators to process and sort DataStruct objects:\n\n- It uses an input iterator to read data from the input file and populate DataStruct objects.\n- It employs custom comparison functions along with iterators to sort the objects based on the specified criteria.\n- Output iterators are used to print the sorted DataStruct objects to the console.\n\n## Input Data Example\nThe input.txt file should contain data in the following format for parsing:\n\n```\n(:key1 89ull:key2 0b1000101:key3 \"Data\":)\n(:key2 0B001001:key1 89ULL:key3 \"Data\":)\n(:key3 \"Data\":key2 0B001001:key1 10ull:)\n(:key3 \"Another\":key1 100ull:key2 0b1110001:)\n(:key1 50ull:key2 0b1010101:key3 \"Some\":)\n(:key1 50000:key2 0b1010101:key3 \"Some\":)\n(:key3 \"Another\":key1 100:key2 1110001:)\n(:key3 \"Another\":key1 gdfgll:key2 0b1110001:)\n```\n## Examples\nThe main.cpp file contains example code that demonstrates how to read, parse, and sort DataStruct objects using iterators. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvovandreevik%2Fdatastruct-iterators","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvovandreevik%2Fdatastruct-iterators","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvovandreevik%2Fdatastruct-iterators/lists"}