インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
渡された n_extent_t に基づいて、適切な型の n_container<…> のインスタンスを作成するファクトリー関数です。
template<
typename PrimitiveT,
typename LayoutT,
typename AllocatorT = allocator::default_alloc,
typename ExtentsT
>
auto make_n_container(const ExtentsT &_extents)
->n_container<PrimitiveT, LayoutT, ExtentsT, AllocatorT>
make_n_container を使用することで、テンプレート引数の推定を利用して n 次元のコンテナーをより簡単に作成し、範囲の型指定を回避できます。
以下は、高解像度のイメージ・オブジェクトをインスタンス化する例です。
typedef n_container<RGBAs, layout::soa,
n_extent_t<int, int>> HdImage;
HdImage image1(n_extent[1080][1920]);
次のように、ファクトリー関数と C++11 のキーワード auto を一緒に使用することもできます。
auto image1 = make_n_container<RGBAs,
layout::soa>(n_extent[1080][1920]);