Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split ptr_uint64 in two #587

Open
2 tasks
SSoelvsten opened this issue Nov 28, 2023 · 0 comments
Open
2 tasks

Split ptr_uint64 in two #587

SSoelvsten opened this issue Nov 28, 2023 · 0 comments
Labels
✨ code quality Uncle Bob would be proud 📁 internal This is where the ✨magic✨happens

Comments

@SSoelvsten
Copy link
Owner

SSoelvsten commented Nov 28, 2023

There are some spicy invariants when using the ptr_uint64 class; namely the out_idx, flag, and the need to use essential(...). If we somehow can make a source<...> type and target<...> type in arc (similar to uid) that enforces this, then the type checker would be much better at helping the programmer.

  • Add arc::source_type which takes a uid and an out_idx (none of which is defaulted).
  • Add arc::target_type which takes a uid and a flag (flag defaulted to false).

Additional Context
Requested by Erik Funder Carstensen

@SSoelvsten SSoelvsten added ✨ code quality Uncle Bob would be proud 📁 internal This is where the ✨magic✨happens labels Nov 28, 2023
@SSoelvsten SSoelvsten added this to the v2.0 : API Revamp milestone Nov 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ code quality Uncle Bob would be proud 📁 internal This is where the ✨magic✨happens
Projects
None yet
Development

No branches or pull requests

1 participant