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

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

Loading
Loading

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

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading