llnl / llnl/axom

Add concepts for slam's sets, relations and maps

Open
#1,979 0 comments 0 reactions 1 assignee View on GitHub

@kennyweiss is already working on this.

Since Sep 8, 2026.

Reviewed Slam
Dominant language
C++
Stars
196
Forks
34
Avg merge
4d 1h
Merged PRs (30d)
11

Description

A recent PR added type aliases and traits to slam (#1904).
Now that Axom depends on C++20, we can define our type constraints in terms of concepts.

I have developed an initial large prototype branch that adds concepts throughout Slam and its internal Axom users: https://github.com/llnl/axom/tree/feature/kweiss/slam-concepts-all

Since this has too many changes to reasonably review, I will break it up into a set of smaller PRs to:
- [ ] Introduce concepts for slam with tests (https://github.com/llnl/axom/pull/1980)
- [ ] Apply concepts to slam's univariate sets
- [ ] Apply concepts to slam's relations
- [ ] Apply concepts to slam's bivariate sets
- [ ] Apply concepts to slam's maps
- [ ] Apply concepts to slam's submap
- [ ] Update slam user docs

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.