Skip to content

Conversation

@jehelset
Copy link

@jehelset jehelset commented Jun 18, 2022

Introduces a new indirect-callable-trait called indirect_value_t to ensure correct value-type computation for algorithms that take projections. Instead of forming a reference to the invoke-result of the projection, it now computes the invoke-result of the projection with a reference to the iterators value-type.

Projections are discriminated from iterators by the existence of a nested typedef indirect_value_type.

More details here:
https://jehelset.gitlab.io/cpp/relaxing-ranges-just-a-smidge/

I was a bit unsure what was the idiomatic way to check for the existence of a nested member-type in ranges-v3.

Introduces a new indirect-callable-trait called 'indirect_value_t'
to ensure correct value-type computation for algorithms that take
projections. Instead of forming a reference to the invoke-result
of the projection, it now computes the invoke-result of the
projection with a reference to the iterators value-type.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant