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

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

#include <type_traits>
#include <vector>
template<typename T, typename U>
void fill_all_impl(T& arr, const U& v,...) {
	arr = v;
}
template<typename ARR, typename U>
auto fill_all_impl(ARR& arr, const U& v,std::nullptr_t = nullptr)->decltype(std::begin(arr),void()) {
	for (auto& i : arr) {
		fill_all_impl(i, v);
	}
}
template<typename T, typename U>
void fill_all(T& arr, const U& v) { fill_all_impl(arr, v,nullptr); }

使用例

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