Skip to content

Conversation

@Dandielo
Copy link
Member

@Dandielo Dandielo commented Jan 4, 2026

Finished changes:

  • Removed 'ucount'

WIP changes:

  • u: String
  • u: VarString
  • u: HeapString (AllocString)
  • u: HeapVarString (AllocVarString)
  • u: StaticString
  • n: ncount
  • n: nindex

Remaining changes:

  • View
  • Span
  • Array
  • HashMap (u64 key)
  • RBMap (any key)
  • Queue
  • Others?

@Dandielo Dandielo self-assigned this Jan 4, 2026
@Dandielo Dandielo added feature Request for a new feature or functionality tech-debt Technical debt that needs to be addressed, but can be tolerated for some time enhancement Improvements or additions to code labels Jan 4, 2026
…ly of the 'nvalue' type. Improved the inital API shared across 'ncount' and 'nindex'. More to come.
#ICE-204 comment Additional functionality might be added later.
Proof of concept on defining container operations using C++ concepts and mixin types.
Added new 'min_value_or' method and optimized the equality operator.
#ICE-203
Added user postifx operators '_count' and '_index'. Fixed minor issues.
Finished a working example of the 'Span' type being based on a 'ContiguousContainer' mixin.
(#ICE-203, #ICE-204, #ICE-205, #ICE-206)
Required changes after initial refactor of the 'Span' type.
#ICE-205
Added support for iterator functionality.
Fixing all code locations affected by the api change of 'Span'.
Split out a "BasicContainer" concept from "ContiguousContainer" and improved utilities for using concepts and deducing this implementations.
#ICE-207 State In Progress
Started work on refactoring the Array container.
Changes to engine source code after initial refactor of the Array type.
Continued work on the Array type. Almost finished the refactor.
#ICE-205
Added 'clear' to the requirements of a 'Resizable' container.
In addition, any operations that change the contents are better to be part of the type itself.
Changes to engine source code after additioanl refactor of the Array type.
#ICE-211 Status In Review
No additional features where added.
* Introduced new concepts: "AssociativeContainer" and "HashMapContainer"
* Started rebuilding the HashMap type and all associated utilities.
#ICE-213, #ICE-210
* Replaced 'empty', 'any' and 'count' with new equivalents.
#ICE-210
* Removed some old functions and reintroduced them in the 'HashMap'
* Added additional utility functions to all resizable containers: 'is_full' and 'not_full'
* Added utility for 'has' and 'missing' functions to accept hashable types.
#ICE-213
Remember to put more time into naming the 'has' and 'missing' methods. Something feels not right with them.
#ICE-210
MultiHashMap might be come a real pain in the end.
* Introduced new type MultiHashMap that contains an easier to use API compared to the previous one. (This type is still not preety)
(#ICE-207, #ICE-211, #ICE-210) State Done
* Instead of a "Array" field it now derived from Array, since it's now just extending/specializing the API interface.
* Additional smaller cleanup in other parts.
… String and HeapString types.

#ICE-214 State In Progress
- Moved 'fmt' dependency from 'utils' to 'collections'
#ICE-200, #ICE-214 State Done
- LinkedQueue(Range) -> AtomicLinkedQueue(Range)
#ICE-215 State Done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improvements or additions to code feature Request for a new feature or functionality tech-debt Technical debt that needs to be addressed, but can be tolerated for some time

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants