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

Streamlined tuple "meta" algorithms #1260

Merged
merged 8 commits into from
Jan 5, 2024

Conversation

trueqbit
Copy link
Collaborator

Originally, I wanted to create tuple "meta" algorithms in the internal "MPL" subframework:

  • moved some tuple metafunctions to the mpl namespace (mpl::contains, mpl::counts, mpl::finds)
  • updated tuple metafunctions for checking, counting and finding tuple elements (tuple_has, count_tuple, find_tuple)
  • simplified mpl metafunctions and made them more robust
  • [fixed] template-qualified calls to table_t::template for_each_column_excluding<>()
  • improved implementation of column_constraints<Op...>::default_value()

Due to tests with early C++14 compilers, this PR also contains:

  • qualified calls to std::get<>()
  • use of the conservative trait value syntax is_trait<>::value again instead of variable templates, because of early C++14 compilers
  • updated some places of the expression tests in a conservative way to remove the mention of compiler quirks (namely is_printable, is_bindable, is_field_of)

* Metafunctions for finding, counting and checking type lists (tuples)
... Originating from testing with legacy compilers, but good for code quality as long as the library supports early C++14 compilers
... Originating from testing with legacy compilers, but good for code quality as long as the library supports early C++14 compilers. Some might have problems with variable templates
@fnc12
Copy link
Owner

fnc12 commented Dec 31, 2023

Yay: pre New Year pull request from Klaus!

@fnc12 fnc12 self-requested a review December 31, 2023 12:40
dev/functional/mpl.h Show resolved Hide resolved
dev/tuple_helper/tuple_traits.h Outdated Show resolved Hide resolved
@trueqbit trueqbit requested a review from fnc12 January 5, 2024 08:50
@trueqbit trueqbit merged commit 5415cc8 into fnc12:dev Jan 5, 2024
2 checks passed
@trueqbit trueqbit deleted the streamlined_tuple_algos branch January 5, 2024 12:24
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