Tue Jan 17 12:48:39 2017 UTC ()
use the full attribute syntax.


(christos)
diff -r1.2 -r1.3 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h

cvs diff -r1.2 -r1.3 src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h (expand / switch to unified diff)

--- src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h 2017/01/12 19:21:09 1.2
+++ src/external/gpl3/gcc/dist/libstdc++-v3/include/bits/stl_algo.h 2017/01/17 12:48:39 1.3
@@ -1726,31 +1726,31 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -1726,31 +1726,31 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
1726 * @p (__result_last-__result_first). 1726 * @p (__result_last-__result_first).
1727 * After the sort if @e i and @e j are iterators in the range 1727 * After the sort if @e i and @e j are iterators in the range
1728 * @p [__result_first,__result_first+N) such that i precedes j then 1728 * @p [__result_first,__result_first+N) such that i precedes j then
1729 * *j<*i is false. 1729 * *j<*i is false.
1730 * The value returned is @p __result_first+N. 1730 * The value returned is @p __result_first+N.
1731 */ 1731 */
1732 template<typename _InputIterator, typename _RandomAccessIterator> 1732 template<typename _InputIterator, typename _RandomAccessIterator>
1733 inline _RandomAccessIterator 1733 inline _RandomAccessIterator
1734 partial_sort_copy(_InputIterator __first, _InputIterator __last, 1734 partial_sort_copy(_InputIterator __first, _InputIterator __last,
1735 _RandomAccessIterator __result_first, 1735 _RandomAccessIterator __result_first,
1736 _RandomAccessIterator __result_last) 1736 _RandomAccessIterator __result_last)
1737 { 1737 {
1738 typedef typename iterator_traits<_InputIterator>::value_type 1738 typedef typename iterator_traits<_InputIterator>::value_type
1739 _InputValueType __unused; 1739 _InputValueType __attribute__((__unused__));
1740 typedef typename iterator_traits<_RandomAccessIterator>::value_type 1740 typedef typename iterator_traits<_RandomAccessIterator>::value_type
1741 _OutputValueType __unused; 1741 _OutputValueType __attribute__((__unused__));
1742 typedef typename iterator_traits<_RandomAccessIterator>::difference_type 1742 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1743 _DistanceType __unused; 1743 _DistanceType __attribute__((__unused__));
1744 1744
1745 // concept requirements 1745 // concept requirements
1746 __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) 1746 __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
1747 __glibcxx_function_requires(_ConvertibleConcept<_InputValueType, 1747 __glibcxx_function_requires(_ConvertibleConcept<_InputValueType,
1748 _OutputValueType>) 1748 _OutputValueType>)
1749 __glibcxx_function_requires(_LessThanOpConcept<_InputValueType, 1749 __glibcxx_function_requires(_LessThanOpConcept<_InputValueType,
1750 _OutputValueType>) 1750 _OutputValueType>)
1751 __glibcxx_function_requires(_LessThanComparableConcept<_OutputValueType>) 1751 __glibcxx_function_requires(_LessThanComparableConcept<_OutputValueType>)
1752 __glibcxx_requires_valid_range(__first, __last); 1752 __glibcxx_requires_valid_range(__first, __last);
1753 __glibcxx_requires_valid_range(__result_first, __result_last); 1753 __glibcxx_requires_valid_range(__result_first, __result_last);
1754 1754
1755 return std::__partial_sort_copy(__first, __last, 1755 return std::__partial_sort_copy(__first, __last,
1756 __result_first, __result_last, 1756 __result_first, __result_last,
@@ -1776,31 +1776,31 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -1776,31 +1776,31 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
1776 * @p [__result_first,__result_first+N) such that i precedes j then 1776 * @p [__result_first,__result_first+N) such that i precedes j then
1777 * @p __comp(*j,*i) is false. 1777 * @p __comp(*j,*i) is false.
1778 * The value returned is @p __result_first+N. 1778 * The value returned is @p __result_first+N.
1779 */ 1779 */
1780 template<typename _InputIterator, typename _RandomAccessIterator, 1780 template<typename _InputIterator, typename _RandomAccessIterator,
1781 typename _Compare> 1781 typename _Compare>
1782 inline _RandomAccessIterator 1782 inline _RandomAccessIterator
1783 partial_sort_copy(_InputIterator __first, _InputIterator __last, 1783 partial_sort_copy(_InputIterator __first, _InputIterator __last,
1784 _RandomAccessIterator __result_first, 1784 _RandomAccessIterator __result_first,
1785 _RandomAccessIterator __result_last, 1785 _RandomAccessIterator __result_last,
1786 _Compare __comp) 1786 _Compare __comp)
1787 { 1787 {
1788 typedef typename iterator_traits<_InputIterator>::value_type 1788 typedef typename iterator_traits<_InputIterator>::value_type
1789 _InputValueType __unused; 1789 _InputValueType __attribute__((__unused__));
1790 typedef typename iterator_traits<_RandomAccessIterator>::value_type 1790 typedef typename iterator_traits<_RandomAccessIterator>::value_type
1791 _OutputValueType __unused; 1791 _OutputValueType __attribute__((__unused__));
1792 typedef typename iterator_traits<_RandomAccessIterator>::difference_type 1792 typedef typename iterator_traits<_RandomAccessIterator>::difference_type
1793 _DistanceType __unused; 1793 _DistanceType __attribute__((__unused__));
1794 1794
1795 // concept requirements 1795 // concept requirements
1796 __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>) 1796 __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
1797 __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept< 1797 __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
1798 _RandomAccessIterator>) 1798 _RandomAccessIterator>)
1799 __glibcxx_function_requires(_ConvertibleConcept<_InputValueType, 1799 __glibcxx_function_requires(_ConvertibleConcept<_InputValueType,
1800 _OutputValueType>) 1800 _OutputValueType>)
1801 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 1801 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
1802 _InputValueType, _OutputValueType>) 1802 _InputValueType, _OutputValueType>)
1803 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 1803 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
1804 _OutputValueType, _OutputValueType>) 1804 _OutputValueType, _OutputValueType>)
1805 __glibcxx_requires_valid_range(__first, __last); 1805 __glibcxx_requires_valid_range(__first, __last);
1806 __glibcxx_requires_valid_range(__result_first, __result_last); 1806 __glibcxx_requires_valid_range(__result_first, __result_last);
@@ -2009,27 +2009,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2009,27 +2009,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2009 * than</em> @p __val, or end() if every element is less 2009 * than</em> @p __val, or end() if every element is less
2010 * than @p __val. 2010 * than @p __val.
2011 * @ingroup binary_search_algorithms 2011 * @ingroup binary_search_algorithms
2012 * 2012 *
2013 * The comparison function should have the same effects on ordering as 2013 * The comparison function should have the same effects on ordering as
2014 * the function used for the initial sort. 2014 * the function used for the initial sort.
2015 */ 2015 */
2016 template<typename _ForwardIterator, typename _Tp, typename _Compare> 2016 template<typename _ForwardIterator, typename _Tp, typename _Compare>
2017 inline _ForwardIterator 2017 inline _ForwardIterator
2018 lower_bound(_ForwardIterator __first, _ForwardIterator __last, 2018 lower_bound(_ForwardIterator __first, _ForwardIterator __last,
2019 const _Tp& __val, _Compare __comp) 2019 const _Tp& __val, _Compare __comp)
2020 { 2020 {
2021 typedef typename iterator_traits<_ForwardIterator>::value_type 2021 typedef typename iterator_traits<_ForwardIterator>::value_type
2022 _ValueType __unused; 2022 _ValueType __attribute__((__unused__));
2023 2023
2024 // concept requirements 2024 // concept requirements
2025 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2025 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2026 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 2026 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
2027 _ValueType, _Tp>) 2027 _ValueType, _Tp>)
2028 __glibcxx_requires_partitioned_lower_pred(__first, __last, 2028 __glibcxx_requires_partitioned_lower_pred(__first, __last,
2029 __val, __comp); 2029 __val, __comp);
2030 2030
2031 return std::__lower_bound(__first, __last, __val, 2031 return std::__lower_bound(__first, __last, __val,
2032 __gnu_cxx::__ops::__iter_comp_val(__comp)); 2032 __gnu_cxx::__ops::__iter_comp_val(__comp));
2033 } 2033 }
2034 2034
2035 template<typename _ForwardIterator, typename _Tp, typename _Compare> 2035 template<typename _ForwardIterator, typename _Tp, typename _Compare>
@@ -2066,27 +2066,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2066,27 +2066,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2066 * @param __first An iterator. 2066 * @param __first An iterator.
2067 * @param __last Another iterator. 2067 * @param __last Another iterator.
2068 * @param __val The search term. 2068 * @param __val The search term.
2069 * @return An iterator pointing to the first element greater than @p __val, 2069 * @return An iterator pointing to the first element greater than @p __val,
2070 * or end() if no elements are greater than @p __val. 2070 * or end() if no elements are greater than @p __val.
2071 * @ingroup binary_search_algorithms 2071 * @ingroup binary_search_algorithms
2072 */ 2072 */
2073 template<typename _ForwardIterator, typename _Tp> 2073 template<typename _ForwardIterator, typename _Tp>
2074 inline _ForwardIterator 2074 inline _ForwardIterator
2075 upper_bound(_ForwardIterator __first, _ForwardIterator __last, 2075 upper_bound(_ForwardIterator __first, _ForwardIterator __last,
2076 const _Tp& __val) 2076 const _Tp& __val)
2077 { 2077 {
2078 typedef typename iterator_traits<_ForwardIterator>::value_type 2078 typedef typename iterator_traits<_ForwardIterator>::value_type
2079 _ValueType __unused; 2079 _ValueType __attribute__((__unused__));
2080 2080
2081 // concept requirements 2081 // concept requirements
2082 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2082 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2083 __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>) 2083 __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>)
2084 __glibcxx_requires_partitioned_upper(__first, __last, __val); 2084 __glibcxx_requires_partitioned_upper(__first, __last, __val);
2085 2085
2086 return std::__upper_bound(__first, __last, __val, 2086 return std::__upper_bound(__first, __last, __val,
2087 __gnu_cxx::__ops::__val_less_iter()); 2087 __gnu_cxx::__ops::__val_less_iter());
2088 } 2088 }
2089 2089
2090 /** 2090 /**
2091 * @brief Finds the last position in which @p __val could be inserted 2091 * @brief Finds the last position in which @p __val could be inserted
2092 * without changing the ordering. 2092 * without changing the ordering.
@@ -2098,27 +2098,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2098,27 +2098,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2098 * @return An iterator pointing to the first element greater than @p __val, 2098 * @return An iterator pointing to the first element greater than @p __val,
2099 * or end() if no elements are greater than @p __val. 2099 * or end() if no elements are greater than @p __val.
2100 * @ingroup binary_search_algorithms 2100 * @ingroup binary_search_algorithms
2101 * 2101 *
2102 * The comparison function should have the same effects on ordering as 2102 * The comparison function should have the same effects on ordering as
2103 * the function used for the initial sort. 2103 * the function used for the initial sort.
2104 */ 2104 */
2105 template<typename _ForwardIterator, typename _Tp, typename _Compare> 2105 template<typename _ForwardIterator, typename _Tp, typename _Compare>
2106 inline _ForwardIterator 2106 inline _ForwardIterator
2107 upper_bound(_ForwardIterator __first, _ForwardIterator __last, 2107 upper_bound(_ForwardIterator __first, _ForwardIterator __last,
2108 const _Tp& __val, _Compare __comp) 2108 const _Tp& __val, _Compare __comp)
2109 { 2109 {
2110 typedef typename iterator_traits<_ForwardIterator>::value_type 2110 typedef typename iterator_traits<_ForwardIterator>::value_type
2111 _ValueType __unused; 2111 _ValueType __attribute__((__unused__));
2112 2112
2113 // concept requirements 2113 // concept requirements
2114 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2114 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2115 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 2115 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
2116 _Tp, _ValueType>) 2116 _Tp, _ValueType>)
2117 __glibcxx_requires_partitioned_upper_pred(__first, __last, 2117 __glibcxx_requires_partitioned_upper_pred(__first, __last,
2118 __val, __comp); 2118 __val, __comp);
2119 2119
2120 return std::__upper_bound(__first, __last, __val, 2120 return std::__upper_bound(__first, __last, __val,
2121 __gnu_cxx::__ops::__val_comp_iter(__comp)); 2121 __gnu_cxx::__ops::__val_comp_iter(__comp));
2122 } 2122 }
2123 2123
2124 template<typename _ForwardIterator, typename _Tp, 2124 template<typename _ForwardIterator, typename _Tp,
@@ -2172,27 +2172,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2172,27 +2172,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2172 * This is equivalent to 2172 * This is equivalent to
2173 * @code 2173 * @code
2174 * std::make_pair(lower_bound(__first, __last, __val), 2174 * std::make_pair(lower_bound(__first, __last, __val),
2175 * upper_bound(__first, __last, __val)) 2175 * upper_bound(__first, __last, __val))
2176 * @endcode 2176 * @endcode
2177 * but does not actually call those functions. 2177 * but does not actually call those functions.
2178 */ 2178 */
2179 template<typename _ForwardIterator, typename _Tp> 2179 template<typename _ForwardIterator, typename _Tp>
2180 inline pair<_ForwardIterator, _ForwardIterator> 2180 inline pair<_ForwardIterator, _ForwardIterator>
2181 equal_range(_ForwardIterator __first, _ForwardIterator __last, 2181 equal_range(_ForwardIterator __first, _ForwardIterator __last,
2182 const _Tp& __val) 2182 const _Tp& __val)
2183 { 2183 {
2184 typedef typename iterator_traits<_ForwardIterator>::value_type 2184 typedef typename iterator_traits<_ForwardIterator>::value_type
2185 _ValueType __unused; 2185 _ValueType __attribute__((__unused__));
2186 2186
2187 // concept requirements 2187 // concept requirements
2188 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2188 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2189 __glibcxx_function_requires(_LessThanOpConcept<_ValueType, _Tp>) 2189 __glibcxx_function_requires(_LessThanOpConcept<_ValueType, _Tp>)
2190 __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>) 2190 __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>)
2191 __glibcxx_requires_partitioned_lower(__first, __last, __val); 2191 __glibcxx_requires_partitioned_lower(__first, __last, __val);
2192 __glibcxx_requires_partitioned_upper(__first, __last, __val);  2192 __glibcxx_requires_partitioned_upper(__first, __last, __val);
2193 2193
2194 return std::__equal_range(__first, __last, __val, 2194 return std::__equal_range(__first, __last, __val,
2195 __gnu_cxx::__ops::__iter_less_val(), 2195 __gnu_cxx::__ops::__iter_less_val(),
2196 __gnu_cxx::__ops::__val_less_iter()); 2196 __gnu_cxx::__ops::__val_less_iter());
2197 } 2197 }
2198 2198
@@ -2209,27 +2209,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2209,27 +2209,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2209 * This is equivalent to 2209 * This is equivalent to
2210 * @code 2210 * @code
2211 * std::make_pair(lower_bound(__first, __last, __val, __comp), 2211 * std::make_pair(lower_bound(__first, __last, __val, __comp),
2212 * upper_bound(__first, __last, __val, __comp)) 2212 * upper_bound(__first, __last, __val, __comp))
2213 * @endcode 2213 * @endcode
2214 * but does not actually call those functions. 2214 * but does not actually call those functions.
2215 */ 2215 */
2216 template<typename _ForwardIterator, typename _Tp, typename _Compare> 2216 template<typename _ForwardIterator, typename _Tp, typename _Compare>
2217 inline pair<_ForwardIterator, _ForwardIterator> 2217 inline pair<_ForwardIterator, _ForwardIterator>
2218 equal_range(_ForwardIterator __first, _ForwardIterator __last, 2218 equal_range(_ForwardIterator __first, _ForwardIterator __last,
2219 const _Tp& __val, _Compare __comp) 2219 const _Tp& __val, _Compare __comp)
2220 { 2220 {
2221 typedef typename iterator_traits<_ForwardIterator>::value_type 2221 typedef typename iterator_traits<_ForwardIterator>::value_type
2222 _ValueType __unused; 2222 _ValueType __attribute__((__unused__));
2223 2223
2224 // concept requirements 2224 // concept requirements
2225 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2225 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2226 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 2226 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
2227 _ValueType, _Tp>) 2227 _ValueType, _Tp>)
2228 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 2228 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
2229 _Tp, _ValueType>) 2229 _Tp, _ValueType>)
2230 __glibcxx_requires_partitioned_lower_pred(__first, __last, 2230 __glibcxx_requires_partitioned_lower_pred(__first, __last,
2231 __val, __comp); 2231 __val, __comp);
2232 __glibcxx_requires_partitioned_upper_pred(__first, __last, 2232 __glibcxx_requires_partitioned_upper_pred(__first, __last,
2233 __val, __comp); 2233 __val, __comp);
2234 2234
2235 return std::__equal_range(__first, __last, __val, 2235 return std::__equal_range(__first, __last, __val,
@@ -2245,27 +2245,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2245,27 +2245,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2245 * @param __val The search term. 2245 * @param __val The search term.
2246 * @return True if @p __val (or its equivalent) is in [@p 2246 * @return True if @p __val (or its equivalent) is in [@p
2247 * __first,@p __last ]. 2247 * __first,@p __last ].
2248 * 2248 *
2249 * Note that this does not actually return an iterator to @p __val. For 2249 * Note that this does not actually return an iterator to @p __val. For
2250 * that, use std::find or a container's specialized find member functions. 2250 * that, use std::find or a container's specialized find member functions.
2251 */ 2251 */
2252 template<typename _ForwardIterator, typename _Tp> 2252 template<typename _ForwardIterator, typename _Tp>
2253 bool 2253 bool
2254 binary_search(_ForwardIterator __first, _ForwardIterator __last, 2254 binary_search(_ForwardIterator __first, _ForwardIterator __last,
2255 const _Tp& __val) 2255 const _Tp& __val)
2256 { 2256 {
2257 typedef typename iterator_traits<_ForwardIterator>::value_type 2257 typedef typename iterator_traits<_ForwardIterator>::value_type
2258 _ValueType __unused; 2258 _ValueType __attribute__((__unused__));
2259 2259
2260 // concept requirements 2260 // concept requirements
2261 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2261 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2262 __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>) 2262 __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>)
2263 __glibcxx_requires_partitioned_lower(__first, __last, __val); 2263 __glibcxx_requires_partitioned_lower(__first, __last, __val);
2264 __glibcxx_requires_partitioned_upper(__first, __last, __val); 2264 __glibcxx_requires_partitioned_upper(__first, __last, __val);
2265 2265
2266 _ForwardIterator __i 2266 _ForwardIterator __i
2267 = std::__lower_bound(__first, __last, __val, 2267 = std::__lower_bound(__first, __last, __val,
2268 __gnu_cxx::__ops::__iter_less_val()); 2268 __gnu_cxx::__ops::__iter_less_val());
2269 return __i != __last && !(__val < *__i); 2269 return __i != __last && !(__val < *__i);
2270 } 2270 }
2271 2271
@@ -2280,27 +2280,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2280,27 +2280,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
2280 * 2280 *
2281 * Note that this does not actually return an iterator to @p __val. For 2281 * Note that this does not actually return an iterator to @p __val. For
2282 * that, use std::find or a container's specialized find member functions. 2282 * that, use std::find or a container's specialized find member functions.
2283 * 2283 *
2284 * The comparison function should have the same effects on ordering as 2284 * The comparison function should have the same effects on ordering as
2285 * the function used for the initial sort. 2285 * the function used for the initial sort.
2286 */ 2286 */
2287 template<typename _ForwardIterator, typename _Tp, typename _Compare> 2287 template<typename _ForwardIterator, typename _Tp, typename _Compare>
2288 bool 2288 bool
2289 binary_search(_ForwardIterator __first, _ForwardIterator __last, 2289 binary_search(_ForwardIterator __first, _ForwardIterator __last,
2290 const _Tp& __val, _Compare __comp) 2290 const _Tp& __val, _Compare __comp)
2291 { 2291 {
2292 typedef typename iterator_traits<_ForwardIterator>::value_type 2292 typedef typename iterator_traits<_ForwardIterator>::value_type
2293 _ValueType __unused; 2293 _ValueType __attribute__((__unused__));
2294 2294
2295 // concept requirements 2295 // concept requirements
2296 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>) 2296 __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
2297 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, 2297 __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
2298 _Tp, _ValueType>) 2298 _Tp, _ValueType>)
2299 __glibcxx_requires_partitioned_lower_pred(__first, __last, 2299 __glibcxx_requires_partitioned_lower_pred(__first, __last,
2300 __val, __comp); 2300 __val, __comp);
2301 __glibcxx_requires_partitioned_upper_pred(__first, __last, 2301 __glibcxx_requires_partitioned_upper_pred(__first, __last,
2302 __val, __comp); 2302 __val, __comp);
2303 2303
2304 _ForwardIterator __i 2304 _ForwardIterator __i
2305 = std::__lower_bound(__first, __last, __val, 2305 = std::__lower_bound(__first, __last, __val,
2306 __gnu_cxx::__ops::__iter_comp_val(__comp)); 2306 __gnu_cxx::__ops::__iter_comp_val(__comp));