16
16
#include < __iterator/iterator_traits.h>
17
17
#include < __iterator/segmented_iterator.h>
18
18
#include < __memory/pointer_traits.h>
19
- #include < __type_traits/disjunction .h>
19
+ #include < __type_traits/conjunction .h>
20
20
#include < __type_traits/enable_if.h>
21
21
#include < __type_traits/negation.h>
22
22
#include < __utility/convert_to_integral.h>
@@ -37,8 +37,8 @@ template <class _OutputIterator,
37
37
class _Tp
38
38
#ifndef _LIBCPP_CXX03_LANG
39
39
,
40
- __enable_if_t <_Or< _Not< __is_segmented_iterator<_OutputIterator> >,
41
- _Not< __has_random_access_local_iterator<_OutputIterator> > >::value,
40
+ __enable_if_t <!_And< __is_segmented_iterator<_OutputIterator>,
41
+ __has_random_access_local_iterator<_OutputIterator> >::value,
42
42
int > = 0
43
43
#endif
44
44
>
@@ -53,9 +53,8 @@ __fill_n(_OutputIterator __first, _Size __n, const _Tp& __value) {
53
53
template < class _OutputIterator ,
54
54
class _Size ,
55
55
class _Tp ,
56
- __enable_if_t <__is_segmented_iterator<_OutputIterator>::value &&
57
- __has_random_access_iterator_category<
58
- typename __segmented_iterator_traits<_OutputIterator>::__local_iterator>::value,
56
+ __enable_if_t <_And<__is_segmented_iterator<_OutputIterator>,
57
+ __has_random_access_local_iterator<_OutputIterator> >::value,
59
58
int > = 0 >
60
59
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _OutputIterator
61
60
__fill_n (_OutputIterator __first, _Size __n, const _Tp& __value) {
0 commit comments