mirror of
https://github.com/darlinghq/darling-libcxx.git
synced 2024-11-24 12:29:57 +00:00
GB 85, GB 87
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111546 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2794e6cca5
commit
e3263b4dbe
@ -103,12 +103,6 @@ template <class... Types, class Alloc>
|
||||
template <class... Types>
|
||||
void swap(tuple<Types...>& x, tuple<Types...>& y);
|
||||
|
||||
template <class InputIterator>
|
||||
InputIterator begin(const std::tuple<InputIterator, InputIterator>& t);
|
||||
|
||||
template <class InputIterator>
|
||||
InputIterator end(const std::tuple<InputIterator, InputIterator>& t);
|
||||
|
||||
} // std
|
||||
|
||||
*/
|
||||
@ -793,22 +787,6 @@ template <class ..._Tp, class _Alloc>
|
||||
struct uses_allocator<tuple<_Tp...>, _Alloc>
|
||||
: true_type {};
|
||||
|
||||
template <class _InputIterator>
|
||||
inline
|
||||
_InputIterator
|
||||
begin(const std::tuple<_InputIterator, _InputIterator>& __t)
|
||||
{
|
||||
return get<0>(__t);
|
||||
}
|
||||
|
||||
template <class _InputIterator>
|
||||
inline
|
||||
_InputIterator
|
||||
end(const std::tuple<_InputIterator, _InputIterator>& __t)
|
||||
{
|
||||
return get<1>(__t);
|
||||
}
|
||||
|
||||
template <class _T1, class _T2>
|
||||
template <class... _Args1, class... _Args2, size_t ..._I1, size_t ..._I2>
|
||||
inline _LIBCPP_INLINE_VISIBILITY
|
||||
|
@ -100,11 +100,6 @@ template<size_t I, class T1, class T2>
|
||||
const typename const tuple_element<I, std::pair<T1, T2> >::type&
|
||||
get(const std::pair<T1, T2>&);
|
||||
|
||||
template <class InputIterator>
|
||||
InputIterator begin(const std::pair<InputIterator, InputIterator>& p);
|
||||
template <class InputIterator>
|
||||
InputIterator end(const std::pair<InputIterator, InputIterator>& p);
|
||||
|
||||
} // std
|
||||
|
||||
*/
|
||||
@ -462,22 +457,6 @@ get(const pair<_T1, _T2>& __p)
|
||||
|
||||
#endif
|
||||
|
||||
template <class _InputIterator>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_InputIterator
|
||||
begin(const pair<_InputIterator, _InputIterator>& __p)
|
||||
{
|
||||
return __p.first;
|
||||
}
|
||||
|
||||
template <class _InputIterator>
|
||||
_LIBCPP_INLINE_VISIBILITY inline
|
||||
_InputIterator
|
||||
end(const pair<_InputIterator, _InputIterator>& __p)
|
||||
{
|
||||
return __p.second;
|
||||
}
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP_UTILITY
|
||||
|
@ -1,33 +0,0 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <tuple>
|
||||
|
||||
// template <class... Types> class tuple;
|
||||
|
||||
// template <class InputIterator>
|
||||
// InputIterator begin(const tuple<InputIterator, InputIterator>& t);
|
||||
|
||||
// template <class InputIterator>
|
||||
// InputIterator end(const tuple<InputIterator, InputIterator>& t);
|
||||
|
||||
#include <tuple>
|
||||
#include <iterator>
|
||||
#include <cassert>
|
||||
|
||||
int main()
|
||||
{
|
||||
{
|
||||
typedef std::tuple<int*, int*> T;
|
||||
int array[5] = {0, 1, 2, 3, 4};
|
||||
const T t(std::begin(array), std::end(array));
|
||||
assert(begin(t) == std::begin(array));
|
||||
assert(end(t) == std::end(array));
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <utility>
|
||||
|
||||
// template <class T1, class T2> struct pair
|
||||
|
||||
// template <class InputIterator>
|
||||
// InputIterator
|
||||
// begin(const std::pair<InputIterator, InputIterator>& p);
|
||||
|
||||
#include <utility>
|
||||
#include <iterator>
|
||||
#include <cassert>
|
||||
|
||||
int main()
|
||||
{
|
||||
{
|
||||
typedef std::pair<int*, int*> P;
|
||||
int a[3] = {0};
|
||||
P p(std::begin(a), std::end(a));
|
||||
assert(std::begin(p) == a);
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <utility>
|
||||
|
||||
// template <class T1, class T2> struct pair
|
||||
|
||||
// template <class InputIterator>
|
||||
// InputIterator
|
||||
// end(const std::pair<InputIterator, InputIterator>& p);
|
||||
|
||||
#include <utility>
|
||||
#include <iterator>
|
||||
#include <cassert>
|
||||
|
||||
int main()
|
||||
{
|
||||
{
|
||||
typedef std::pair<int*, int*> P;
|
||||
int a[3] = {0};
|
||||
P p(std::begin(a), std::end(a));
|
||||
assert(std::end(p) == a+3);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user