Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concept-oriented checks for "row extraction" #1195

Merged
merged 14 commits into from
Jul 19, 2023

Conversation

trueqbit
Copy link
Collaborator

@trueqbit trueqbit commented Jul 18, 2023

Motivated by #1193 this PR introduces concept-oriented checks at the point where a "row extractor" is used and whether it can be used for a certain purpose.
This essentially results in clear compiler error messages in case custom user-defined row extractors do the wrong thing.

Changes include:

  • Named (internal) factory functions that check a "row extractor" for suitability.
  • Introduced some unit tests for "row extraction".
  • Replaced two levels of indirection (row extractor builder and "mapped" row extractor) with the simpler is_mapped trait.

* "row extractor" methods must be const-qualified
* Some unit tests for "row extraction"
* Replaced two levels of indirection (row extractor builder and "mapped" row extractor) with the simpler `is_mapped` trait.
@trueqbit trueqbit requested a review from fnc12 July 18, 2023 20:27
dev/row_extractor.h Outdated Show resolved Hide resolved
dev/row_extractor.h Outdated Show resolved Hide resolved
dev/storage.h Show resolved Hide resolved
@trueqbit trueqbit merged commit 5293beb into fnc12:dev Jul 19, 2023
1 check passed
@trueqbit trueqbit deleted the concept_oriented_rowextractor branch July 19, 2023 12:47
@fnc12
Copy link
Owner

fnc12 commented Jul 19, 2023

thanks @trueqbit

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.

2 participants