Skip to content
Snippets Groups Projects

feat(functors) implement automatic wrapping/unwrapping of optional returns from functor

Merged Christoph Hasse requested to merge chasse_fixed_for_362 into master
All threads resolved!

Needs: Analysis!901 (merged)

This implements:

  1. Functors::Optional as alternative to std::optional, please see Functors/Optional.h for motivation.
  2. Automatic wrapping and unwrapping by the underlying framework if a chained functor returns a Functors::Optional

ToDo / Questions:

  • Not yet implemented is the handling of an optional return value by a functor that is bound to another functor.
  • Adapt FunTuple to understand the new optional output cc @amathad

Some smaller fixes for Moore!1461 (closed) :

  • add ADDRESSOF functor
  • fix RPPVIPCHI2, SHARE_BPV
  • enable multiple args for non SIMD input

cc @tfulghes @graven @amathad

Edited by Christoph Hasse

Merge request reports

Merge request pipeline #4159733 passed

Merge request pipeline passed for f33e8d19

Merged by Sebastien PonceSebastien Ponce 2 years ago (Jul 1, 2022 7:03am UTC)

Loading

Pipeline #4169558 passed

Pipeline passed for e10c7a14 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Christoph Hasse
  • Christoph Hasse
  • Christoph Hasse added 32 commits

    added 32 commits

    • 8e62bfe4...f0118bef - 29 commits from branch master
    • 9eb26718 - fix(functors) fix RPPVIPCHI2, SHARE_BPV and enable multiple args for non SIMD input
    • 66415b96 - feat(Functors) implement Functors::Optional, to represent optional functor output
    • ecd2315d - feat(functors) implement automatic (un)-wrapping when functors return Functors::Optional

    Compare with previous version

  • added 1 commit

    • 0f3b2f6e - feat(functors) implement automatic (un)-wrapping when functors return Functors::Optional

    Compare with previous version

  • Christoph Hasse added 2 commits

    added 2 commits

    • 9b0638d9 - feat(functors) implement handling of optional returns of bound functors
    • 2ac08be8 - feat(functors) implement test of functors with optional returns

    Compare with previous version

  • Christoph Hasse marked the checklist item Not yet implemented is the handling of an optional return value by a functor that is bound to another functor. as completed

    marked the checklist item Not yet implemented is the handling of an optional return value by a functor that is bound to another functor. as completed

  • Christoph Hasse added 11 commits

    added 11 commits

    • 2ac08be8...b9a10d3d - 6 commits from branch master
    • fae1edb1 - fix(functors) fix RPPVIPCHI2, SHARE_BPV and enable multiple args for non SIMD input
    • 24c82260 - feat(Functors) implement Functors::Optional, to represent optional functor output
    • 2176eda0 - feat(functors) implement automatic (un)-wrapping when functors return Functors::Optional
    • 9a038821 - feat(functors) implement handling of optional returns of bound functors
    • 85d3779f - feat(functors) implement test of functors with optional returns

    Compare with previous version

  • Christoph Hasse changed the description

    changed the description

  • added 1 commit

    • f33e8d19 - fix(functors) introduce Functors::Optional<T>::value_type

    Compare with previous version

  • Christoph Hasse marked the checklist item Adapt FunTuple to understand the new optional output cc @amathad as completed

    marked the checklist item Adapt FunTuple to understand the new optional output cc @amathad as completed

  • mentioned in merge request Analysis!901 (merged)

  • Christoph Hasse marked this merge request as ready

    marked this merge request as ready

  • Christoph Hasse changed the description

    changed the description

  • Tommaso Fulghesu mentioned in merge request !2959 (merged)

    mentioned in merge request !2959 (merged)

  • requested review from @amathad, @graven, and @tfulghes

  • Sebastien Ponce approved this merge request

    approved this merge request

  • Sebastien Ponce resolved all threads

    resolved all threads

  • mentioned in commit Analysis@d6e4f17c

  • mentioned in commit Analysis@51a10f35

  • Sebastien Ponce mentioned in commit e10c7a14

    mentioned in commit e10c7a14

  • Please register or sign in to reply
    Loading