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:
Howard Hinnant 2010-08-19 19:15:54 +00:00
parent 2794e6cca5
commit e3263b4dbe
5 changed files with 0 additions and 136 deletions

View File

@ -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

View File

@ -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

View File

@ -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));
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}