libstdc++: Reduce header dependencies in <span>
* include/std/span: Do not include <tuple> and <utility>. (tuple_size, tuple_element): Declare. From-SVN: r279171
This commit is contained in:
parent
990a09e486
commit
b65bdd27fd
@ -1,5 +1,8 @@
|
||||
2019-12-10 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/std/span: Do not include <tuple> and <utility>.
|
||||
(tuple_size, tuple_element): Declare.
|
||||
|
||||
* include/bits/iterator_concepts.h (indirect_result_t): Do not apply
|
||||
iter_reference_t to parameter pack.
|
||||
* testsuite/24_iterators/indirect_callable/projected.cc: New test.
|
||||
|
@ -39,8 +39,6 @@
|
||||
#if __cplusplus > 201703L
|
||||
|
||||
#include <type_traits>
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
#include <array>
|
||||
#include <bits/stl_iterator.h>
|
||||
#include <bits/range_access.h>
|
||||
@ -451,6 +449,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
return __sp[_Index];
|
||||
}
|
||||
|
||||
template<typename _Tp> struct tuple_size;
|
||||
template<size_t __i, typename _Tp> struct tuple_element;
|
||||
|
||||
template<typename _Type, size_t _Extent>
|
||||
struct tuple_size<span<_Type, _Extent>>
|
||||
: public integral_constant<size_t, _Extent>
|
||||
|
Loading…
x
Reference in New Issue
Block a user