のオブジェクトを作成したいのですstd::array<T, N>
が、問題は、型を返す関数しか使用できないconstexpr
か、コンパイラが文句を言うことです。ここでの問題は、次のような別の配列のサイズに基づいて、この配列の長さを計算する必要があることです。
template <typename T>
struct DataLength
{
template <typename iter>
size_t maxPossibleLength(iter begin, iter end)
{
size_t m_size = 0;
while (begin != end) {
m_size = m_size << 8 | std::numeric_limits<T>::max(); /* 0xff for uchar*/
begin++;
}
return m_size;
}
}
この関数の出力を変換して、代わりに使用できるようにするにはどうすればよいN
ですか?