{"id":15479576,"url":"https://github.com/craig-day/linked_map_set","last_synced_at":"2025-03-28T14:17:01.268Z","repository":{"id":57516990,"uuid":"334482177","full_name":"craig-day/linked_map_set","owner":"craig-day","description":"A LinkedMapSet is an extension to MapSet that maintains ordering.","archived":false,"fork":false,"pushed_at":"2021-01-30T20:14:15.000Z","size":9,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T04:11:05.396Z","etag":null,"topics":["data-structures","elixir","linked-list","ordered-collections","ordered-set"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/linked_map_set","language":"Elixir","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/craig-day.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-30T18:22:01.000Z","updated_at":"2024-07-17T11:06:20.000Z","dependencies_parsed_at":"2022-09-15T21:22:39.716Z","dependency_job_id":null,"html_url":"https://github.com/craig-day/linked_map_set","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig-day%2Flinked_map_set","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig-day%2Flinked_map_set/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig-day%2Flinked_map_set/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig-day%2Flinked_map_set/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/craig-day","download_url":"https://codeload.github.com/craig-day/linked_map_set/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246042016,"owners_count":20714148,"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","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":["data-structures","elixir","linked-list","ordered-collections","ordered-set"],"created_at":"2024-10-02T04:21:56.454Z","updated_at":"2025-03-28T14:17:01.246Z","avatar_url":"https://github.com/craig-day.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LinkedMapSet\n\nA `LinkedMapSet` is an extension to [`MapSet`](https://hexdocs.pm/elixir/MapSet.html)\nthat maintains ordering.\n\nIt does this by keeping pointers to previous and next elements based on insert\norder.\n\nI built this to have a collection I can traverse in either direction, but also\nbe able to remove items in less-than-linear time. I also didn't want something\nthat needed to be sorted or rebalanced after each addition or removal.\n\nThis uses [`Map`](https://hexdocs.pm/elixir/Map.html) underneath, much like\n[`MapSet`](https://hexdocs.pm/elixir/MapSet.html), so removing arbitrary items\ncan happen in logarithmic time, rather than linear time that most sorted\ncollections incur.\n\n## Installation\n\n```elixir\ndef deps do\n  [\n    {:linked_map_set, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\n## Usage\n\nSee the [documentation](https://hexdocs.pm/linked_map_set) for API reference and examples.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraig-day%2Flinked_map_set","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraig-day%2Flinked_map_set","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraig-day%2Flinked_map_set/lists"}