Skip to content

Partial elimination of TMP from xutils.hpp and patches for dependencies#2923

Draft
spectre-ns wants to merge 5 commits into
xtensor-stack:masterfrom
spectre-ns:sfinae-to-constexpr
Draft

Partial elimination of TMP from xutils.hpp and patches for dependencies#2923
spectre-ns wants to merge 5 commits into
xtensor-stack:masterfrom
spectre-ns:sfinae-to-constexpr

Conversation

@spectre-ns
Copy link
Copy Markdown
Contributor

@spectre-ns spectre-ns commented Jun 7, 2026

Checklist

  • The title and commit message(s) are descriptive.
  • Small commits made to fix your PR have been squashed to avoid history pollution.
  • Tests have been added for new features or bug fixes.
  • API of new functions and classes are documented.

Description

With concepts and constexpr the library can be more readable and less reliant on recursion. This PR is the first of hopefully many that will flatten the template structure in xtensor logic without changing public interfaces or functionality. The goal is to make additional optimizations and functionality easier to reason about and implement moving forward.

Additionally, eliminating recursion should help compile times!

@codspeed-hq
Copy link
Copy Markdown
Contributor

codspeed-hq Bot commented Jun 7, 2026

Merging this PR will not alter performance

✅ 255 untouched benchmarks


Comparing spectre-ns:sfinae-to-constexpr (62d19f4) with master (1b5325b)

Open in CodSpeed

@spectre-ns spectre-ns changed the title first stage of eliminating sfinae Eliminating TMP from xutils.hpp and patches for dependencies Jun 7, 2026
@spectre-ns
Copy link
Copy Markdown
Contributor Author

@Alex-PLACET @JohanMabille please let me know if these types of changes are in the direction you'd like to see xtensor move towards!

@spectre-ns spectre-ns changed the title Eliminating TMP from xutils.hpp and patches for dependencies Partial elimination of TMP from xutils.hpp and patches for dependencies Jun 7, 2026
@spectre-ns spectre-ns marked this pull request as ready for review June 7, 2026 13:17
@spectre-ns spectre-ns marked this pull request as draft June 7, 2026 13:19
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.

1 participant