Skip to content

Move pack and copack operations to <fn/algebra.hpp> - #442

Merged
Bronek merged 1 commit into
mainfrom
bronek/algebra_header
Sep 29, 2026
Merged

Bronek merged 1 commit into
mainfrom
bronek/algebra_header

Conversation

@Bronek

@Bronek Bronek commented Sep 28, 2026

Copy link
Copy Markdown
Member

Move data operator&, conjoin, disjoin, and the carrier join helpers to <fn/algebra.hpp>.

Breaking: direct users of the moved operations must include <fn/algebra.hpp>. Carrier headers already include it. Code using copack through <fn/pack.hpp> must include <fn/copack.hpp> explicitly.

Make <fn/copack.hpp> include <fn/pack.hpp> so void transforms need no extra include. Move the corresponding tests to tests/fn/algebra.cpp.

Assisted-by: Claude:claude-opus-5-5
Assisted-by: Codex:gpt-6-astra

@Bronek
Bronek added this pull request to stack #445 September 28, 2026 20:14
@augmentcode

augmentcode Bot commented Sep 28, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR extracts the data-algebra surface from <fn/pack.hpp> into a new <fn/algebra.hpp> header.

Changes:

  • Moves data operator&, conjoin, disjoin, and shared carrier-join helpers to the new header.
  • Makes expected, optional, and just include the algebra header so their carrier operators remain complete.
  • Reverses the pack/copack dependency: copack.hpp now includes pack.hpp.
  • Moves the affected join and algebra tests into a dedicated tests/fn/algebra.cpp target.
  • Relocates the in-place-type detail trait to a shared traits header.
  • Registers the new public header and test source with CMake.
  • Updates examples, changelog, and API-reference include guidance for the breaking include change.
Technical notes: A standalone copack.hpp now supports void transforms without an additional pack include; direct use of the moved algebra operations requires algebra.hpp.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@Bronek
Bronek force-pushed the bronek/algebra_header branch from 47bb787 to 60419e6 Compare September 28, 2026 20:38
@codecov

codecov Bot commented Sep 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Bronek
Bronek force-pushed the bronek/algebra_header branch 4 times, most recently from f2f7069 to 671c9b2 Compare September 29, 2026 20:46
@sonarqubecloud

Copy link
Copy Markdown

@Bronek
Bronek removed this pull request from stack #445 September 29, 2026 21:20
@Bronek
Bronek added this pull request to stack #446 September 29, 2026 21:21
@Bronek
Bronek removed this pull request from stack #446 September 29, 2026 21:24
@Bronek
Bronek force-pushed the bronek/void_unit_factor branch from 0a301b4 to 850ac60 Compare September 29, 2026 21:30
@Bronek
Bronek force-pushed the bronek/algebra_header branch 2 times, most recently from 52aa1fa to 9eefc44 Compare September 29, 2026 21:32
@Bronek
Bronek force-pushed the bronek/void_unit_factor branch from 850ac60 to 5299f38 Compare September 29, 2026 21:32
Separate the data types from operator&, conjoin, disjoin and the carrier
join helpers. Keep the data operator& overload set together in algebra.hpp.

Make copack.hpp include pack.hpp so void transforms need no extra include.
Carrier headers include algebra.hpp; direct users of the moved operations
must include it. Move the corresponding tests to algebra.cpp.

Assisted-by: Claude:claude-opus-5-5
Assisted-by: Codex:gpt-6-astra
@Bronek
Bronek force-pushed the bronek/algebra_header branch from 9eefc44 to cb4a64e Compare September 29, 2026 21:34
@Bronek
Bronek changed the base branch from bronek/void_unit_factor to main September 29, 2026 21:35
@Bronek
Bronek merged commit 3b662ec into main Sep 29, 2026
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