@@ -296,8 +296,7 @@ struct __forward_node_traits {
296
296
# endif
297
297
298
298
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI static __begin_node_pointer __as_iter_node (__node_pointer __p) {
299
- return __p ? pointer_traits<__begin_node_pointer>::pointer_to (*static_cast <__begin_node*>(std::addressof (*__p)))
300
- : static_cast <__begin_node_pointer>(nullptr );
299
+ return __static_fancy_pointer_cast<__begin_node_pointer>(__p);
301
300
}
302
301
};
303
302
@@ -312,9 +311,7 @@ struct __forward_begin_node {
312
311
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI explicit __forward_begin_node (pointer __n) : __next_(__n) {}
313
312
314
313
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __begin_node_pointer __next_as_begin () const {
315
- return __next_ ? pointer_traits<__begin_node_pointer>::pointer_to (
316
- *static_cast <__forward_begin_node*>(std::addressof (*__next_)))
317
- : static_cast <__begin_node_pointer>(nullptr );
314
+ return __static_fancy_pointer_cast<__begin_node_pointer>(__next_);
318
315
}
319
316
};
320
317
@@ -370,8 +367,7 @@ class _LIBCPP_TEMPLATE_VIS __forward_list_iterator {
370
367
371
368
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __begin_node_pointer __get_begin () const { return __ptr_; }
372
369
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __node_pointer __get_unsafe_node_pointer () const {
373
- return __ptr_ ? pointer_traits<__node_pointer>::pointer_to (*static_cast <__node_type*>(std::addressof (*__ptr_)))
374
- : static_cast <__node_pointer>(nullptr );
370
+ return __static_fancy_pointer_cast<__node_pointer>(__ptr_);
375
371
}
376
372
377
373
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI explicit __forward_list_iterator (nullptr_t ) _NOEXCEPT
@@ -440,8 +436,7 @@ class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator {
440
436
441
437
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __begin_node_pointer __get_begin () const { return __ptr_; }
442
438
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __node_pointer __get_unsafe_node_pointer () const {
443
- return __ptr_ ? pointer_traits<__node_pointer>::pointer_to (*static_cast <__node_type*>(std::addressof (*__ptr_)))
444
- : static_cast <__node_pointer>(nullptr );
439
+ return __static_fancy_pointer_cast<__node_pointer>(__ptr_);
445
440
}
446
441
447
442
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI explicit __forward_list_const_iterator (nullptr_t ) _NOEXCEPT
0 commit comments