N次元配列を同じ値で埋めるテンプレ2

N次元配列を同じ値で埋めるテンプレ
キャストが要らないバージョン
シンプルなのはこっち:N次元配列を同じ値で埋めるテンプレ - 永夜の記録

#include <type_traits>
template<typename T, typename U>
typename std::enable_if<std::rank<T>::value == 0>::type fill_all(T& arr, const U& v) {
	arr = v;
}
template<typename ARR, typename U>
typename std::enable_if<std::rank<ARR>::value!=0>::type fill_all(ARR& arr, const U& v) {
	for (auto& i : arr) {
		fill_all(i, v);
	}
}

使用例

long long dp[1000][1000];
fill_all(dp,-1);//キャストが要らない