libstdc++: [_GLIBCXX_DEBUG][__cplusplus >= 201103L] Remove useless workaround

Starting with C++11 we leverage on template parameter requirement to prevent
instantiation of methods taking iterators with invalid types.
So the _GLIBCXX_DEBUG mode do not need to check for potential ambiguity between
integer type and iterator type anymore.

libstdc++-v3/ChangeLog:

	* include/debug/functions.h [__cplusplus >= 201103L]
	(__foreign_iterator_aux): Remove.
	(__foreign_iterator): Adapt to use __foreign_iterator_aux2.
	* include/debug/helper_functions.h [__cplusplus >= 201103L]:
	Remove include bits/cpp_type_traits.h.
	(_Distance_traits<_Integral, std::__true_type>): Remove.
	(__valid_range_aux(_Integral, _Integral, std::__true_type)):
	Remove.
	(__valid_range_aux(_Iterator, _Iterator, std::__false_type)): Remove.
	(__valid_range_aux(_Integral, _Integral, _Distance_traits<_Integral>::__type&,
	std::__true_type)): Remove.
	(__valid_range_aux(_Iterator, _Iterator, _Distance_traits<_Iterator>::__type&,
	std::__false_type)): Remove.
	(__valid_range(_Iterator, _Iterator)): Adapt.
	(__valid_range(_Iterator, _Iterator, _Distance_traits<_Iterator>::__type&)): Adapt.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
2 files changed