@@ -300,8 +300,7 @@ struct __forward_node_traits {
300
300
return __p;
301
301
}
302
302
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI static __begin_node_pointer __as_iter_node (__node_pointer __p) {
303
- return __p ? pointer_traits<__begin_node_pointer>::pointer_to (*static_cast <__begin_node*>(std::addressof (*__p)))
304
- : static_cast <__begin_node_pointer>(nullptr );
303
+ return __static_fancy_pointer_cast<__begin_node_pointer>(__p);
305
304
}
306
305
};
307
306
@@ -316,9 +315,7 @@ struct __forward_begin_node {
316
315
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI explicit __forward_begin_node (pointer __n) : __next_(__n) {}
317
316
318
317
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __begin_node_pointer __next_as_begin () const {
319
- return __next_ ? pointer_traits<__begin_node_pointer>::pointer_to (
320
- *static_cast <__forward_begin_node*>(std::addressof (*__next_)))
321
- : static_cast <__begin_node_pointer>(nullptr );
318
+ return __static_fancy_pointer_cast<__begin_node_pointer>(__next_);
322
319
}
323
320
};
324
321
@@ -374,8 +371,7 @@ class _LIBCPP_TEMPLATE_VIS __forward_list_iterator {
374
371
375
372
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __begin_node_pointer __get_begin () const { return __ptr_; }
376
373
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __node_pointer __get_unsafe_node_pointer () const {
377
- return __ptr_ ? pointer_traits<__node_pointer>::pointer_to (*static_cast <__node_type*>(std::addressof (*__ptr_)))
378
- : static_cast <__node_pointer>(nullptr );
374
+ return __static_fancy_pointer_cast<__node_pointer>(__ptr_);
379
375
}
380
376
381
377
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI explicit __forward_list_iterator (nullptr_t ) _NOEXCEPT
@@ -445,8 +441,7 @@ class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator {
445
441
446
442
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __begin_node_pointer __get_begin () const { return __ptr_; }
447
443
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI __node_pointer __get_unsafe_node_pointer () const {
448
- return __ptr_ ? pointer_traits<__node_pointer>::pointer_to (*static_cast <__node_type*>(std::addressof (*__ptr_)))
449
- : static_cast <__node_pointer>(nullptr );
444
+ return __static_fancy_pointer_cast<__node_pointer>(__ptr_);
450
445
}
451
446
452
447
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI explicit __forward_list_const_iterator (nullptr_t ) _NOEXCEPT
0 commit comments