Skip to content

Add design spec for C++17 migration#96

Merged
joshbainbridge merged 1 commit into
mainfrom
cpp-17-migration
Jun 29, 2026
Merged

Add design spec for C++17 migration#96
joshbainbridge merged 1 commit into
mainfrom
cpp-17-migration

Conversation

@joshbainbridge

@joshbainbridge joshbainbridge commented Apr 25, 2026

Copy link
Copy Markdown
Collaborator

The project currently requires a binary/header-only install split due to C++14 lacking inline variables. This causes user-facing complexity with three extra CMake options and conditional compilation in bntables.h. #86

Add a design document covering the migration plan from C++14 to C++17. This includes replacing constexpr/extern table patterns with inline constexpr, removing the OPENQMC_ENABLE_BINARY build machinery, and updating documentation.

For easier reading, you can enable the formatted display using this option on the Files changed tab:
image

@joshbainbridge joshbainbridge linked an issue Apr 25, 2026 that may be closed by this pull request
@joshbainbridge joshbainbridge force-pushed the cpp-17-migration branch 2 times, most recently from 06763e0 to 24d753f Compare April 27, 2026 15:43
Comment thread specs/cpp-17-migration/spec.md
@joshbainbridge joshbainbridge force-pushed the cpp-17-migration branch 2 times, most recently from 0d9eb5c to 5f7ae7c Compare June 28, 2026 22:49
The project currently requires a binary/header-only install split due to
C++14 lacking inline variables. This causes user-facing complexity with
three extra CMake options and conditional compilation in bntables.h.

Add a design document covering the migration plan from C++14 to C++17.
This includes replacing constexpr/extern table patterns with inline
constexpr, removing the OPENQMC_ENABLE_BINARY build machinery, updating
documentation, and assessing NVCC compatibility risks.

Assisted-by: Amp:claude-opus-4.6

Signed-off-by: Josh Bainbridge <josh.bainbridge@gmail.com>
@joshbainbridge joshbainbridge merged commit 7b81358 into main Jun 29, 2026
50 checks passed
@joshbainbridge joshbainbridge deleted the cpp-17-migration branch June 29, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate project to C++17 standard and reduce complexity

2 participants