Adding customization for standard types
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 24.3k
- Forks
- 1.3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 16
Description
With tag_invoke #2228, we can provide customizations for standard types.
I'm thinking of:
- vector
- map
- deque
- list
- forward_list
- set
- multiset
- multimap
- unordered_set
- unordered_map
- unordered_multiset
- unordered_multimap
- stack
- queue
- priority_queue
- flat_set
- flat_map
- flat_multiset
- flat_multimap
- span
- unique_ptr
- smart_ptr
- atomic
- optional
- expected<T, E>
- filesystem::path
- chrono::duration
- pair
- tuple
- ...
Honestly, it's the opposite of std::formatter<...> customizations.
Felt like half a day of work when I started typing, but now it sounds like a whole week of work :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the tag_invoke change referenced as #2228 and the existing customization design. The issue names no files or tests and lists many standard types, so first agree on a manageable subset and its intended behavior; done would mean the selected types have documented customizations and corresponding validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100