defines thrust::tuple_element consistently with std::tuple_element using template<size_t, class>
MODIFY
thrust/detail/tuple.inl
thrust/detail/tuple.inl
@@ -51,7 +51,7 @@ template <
class tuple;
// forward declaration of tuple_element
-template<int i, typename T> struct tuple_element;
+template<size_t N, class T> struct tuple_element;
// specializations for tuple_element
template<class T>
@@ -60,7 +60,7 @@ template<class T>
typedef typename T::head_type type;
}; // end tuple_element<0,T>
-template<int N, class T>
+template<size_t N, class T>
struct tuple_element<N, const T>
{
private:

MODIFY
thrust/pair.h
thrust/pair.h
@@ -228,7 +228,7 @@ template <typename T1, typename T2>
* \tparam N This parameter selects the member of interest.
* \tparam T A \c pair type of interest.
*/
-template<int N, typename T> struct tuple_element;
+template<size_t N, class T> struct tuple_element;
/*! This convenience metafunction is included for compatibility with

MODIFY
thrust/tuple.h
thrust/tuple.h
@@ -62,7 +62,7 @@ struct null_type;
* \see pair
* \see tuple
*/
-template<int N, class T>
+template<size_t N, class T>
struct tuple_element
{
private:

defines thrust::tuple_element consistently with std::tuple_element using template<size_t, class>