{"id":33232265,"url":"https://github.com/dsapolska/dccontainers","last_synced_at":"2025-12-06T02:01:38.510Z","repository":{"id":215181579,"uuid":"166221657","full_name":"dsapolska/dccontainers","owner":"dsapolska","description":"Delphi containers library","archived":false,"fork":false,"pushed_at":"2019-01-18T12:31:39.000Z","size":45,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-04-23T15:32:11.115Z","etag":null,"topics":["delphi","delphi-component","delphi-library","delphi7","hashmap"],"latest_commit_sha":null,"homepage":null,"language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsapolska.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-01-17T12:24:48.000Z","updated_at":"2023-10-16T12:31:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a93f952-a90f-46fa-a149-ce40cedb5736","html_url":"https://github.com/dsapolska/dccontainers","commit_stats":null,"previous_names":["dsapolska/dccontainers"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dsapolska/dccontainers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsapolska%2Fdccontainers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsapolska%2Fdccontainers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsapolska%2Fdccontainers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsapolska%2Fdccontainers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsapolska","download_url":"https://codeload.github.com/dsapolska/dccontainers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsapolska%2Fdccontainers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27533116,"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-12-06T02:00:06.463Z","response_time":60,"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":["delphi","delphi-component","delphi-library","delphi7","hashmap"],"created_at":"2025-11-16T18:00:21.983Z","updated_at":"2025-12-06T02:01:38.505Z","avatar_url":"https://github.com/dsapolska.png","language":"Pascal","readme":"# DCContainers\n\nDelphi containers library written for Delphi 7 as replacement for formerly used TStringList and DeCAL library.\nIt contains maps and sets, both with integer and string keys, where maps can store strings, integers and objects (descendants of TObject).\n\n\n#### Technical note:\nEach container require object manager (or better say \"provider\") and hash generator. Ownership of both objects is taken by container, and so they are released when it is destroyed.\nObject manager provides and manages life cycle of TDCTreeKeyValue records stored in red-black tree. Currently there is only one implementation internally storing objects in list.\nHash generator calculates hashes of key values, and currently there is only one generator implementing Bob Jenkins' 32 bit hash lookup3.\n\n\n#### Library uses (and depends on):\n* DUnit - to compile and execute tests\n* crc/hash library by Wolfgang Ehrhardt - for calculating BJL3 hashes\n* RBTree by Freek van Walderveen, Jani Mátyás - for Red-Black tree implementation\n\n\n#### Sample usage:\n\n```delphi\nmap : TDCMapString;\ndcptr : PDCTreeKeyValue;\n\nmap:=TDCMapString.Create(TDCManagerList.Create, TDCHashBJL3.Create);\nmap.Add('key1', 'example value');\nmap.Add('key2', 12345);\n//...\ndcptr:=map.Find('key1');\nif dcptr \u003c\u003e nil then\n\tShowMessage(dcptr^.Value.AsString);\n```\n\nMore detailed usage can be found in _Tests_.\n","funding_links":[],"categories":["Other non-visual"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsapolska%2Fdccontainers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsapolska%2Fdccontainers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsapolska%2Fdccontainers/lists"}