3

boost :: array::static_sizeがtr1::arrayの一部ではないか、少なくとも私の実装(GCC 4.2.1)にはなく、tr1のドキュメントに見つからないことがわかりました。

tr1配列の要素数に対してコンパイル時アサーションを実行する別の方法はありますか?

例:以下はブーストアレイでは機能しますが、tr1アレイでは機能しません。

template<typename T>
void CheckArray(const T& input) {
  BOOST_STATIC_ASSERT(T::static_size >= 2);
}

代わりにboostの配列を使用できることは知っていますが、興味があります。

それを行う方法がない場合は、static_sizeがtr1に含まれていなかった理由を誰かが知っているかもしれません。tr1が作成された後にブーストするために追加された機能だけですか?

4

1 に答える 1

4

TR1自体は、配列のサイズをstd::tuple_size<array<T, N> >::value返すと言っています。N

于 2011-02-07T02:10:41.353 に答える