Commit 06804a3
committed
Refine detection idiom and type traits
- Add nonesuch sentinel type; use it as default in detected_or instead
of void, making "not detected" cases unambiguous
- Rename returned_type -> invoke_result, resolve_view_t -> pipe_result
to follow STL naming conventions
- Make get_iterator_t and get_reference_t safe via detected_or<nonesuch>
instead of hard decltype aliases, preventing hard errors in SFINAE
contexts when T is not a range/iterator
- Replace is_input_iterator_expr void_t pattern with is_detected_exact
checks enforcing that pre-increment returns T& and post-increment
returns T
- Replace bidirectional_iterator_extra_expr with is_detected_exact
checks for pre/post decrement return types
- Add is_detected_exact comment and normalize its template formatting
- Strengthen is_sentinel_for to also require I satisfies is_input_iterator1 parent cd18695 commit 06804a3
1 file changed
Lines changed: 179 additions & 195 deletions
0 commit comments