flattened2d
[tls.flattened2d]
クラス・テンプレート flattened2d
は、コンテナーのフラット化されたビューを提供するアダプターです。
// <oneapi/tbb/enumerable_thread_specific.h> ヘッダーで定義
namespace oneapi {
namespace tbb {
template<typename Container> class flattened2d {
public:
// Basic types
using size_type = /* implementation-defined */;
using difference_type = /* implementation-defined */;
using allocator_type = /* implementation-defined */;
using value_type = /* implementation-defined */;
using reference = /* implementation-defined */;
using const_reference = /* implementation-defined */;
using pointer = /* implementation-defined */;
using const_pointer = /* implementation-defined */;
using iterator = /* implementation-defined */;
using const_iterator = /* implementation-defined */;
explicit flattened2d( const Container& c );
flattened2d( const Container& c,
typename Container::const_iterator first,
typename Container::const_iterator last );
iterator begin();
iterator end();
const_iterator begin() const;
const_iterator end() const;
size_type size() const;
};
template <typename Container>
flattened2d<Container> flatten2d(const Container &c);
template <typename Container>
flattened2d<Container> flatten2d(
const Container &c,
const typename Container::const_iterator first,
const typename Container::const_iterator last);
} // namespace tbb
} // namespace oneapi
要件:
Container
タイプは、[container.requirements.general] ISO C++ 標準のコンテナーの要件を満たしている必要があります。
begin()
から end()
までを反復すると、内部コンテナーのすべての要素が参照されます。クラス・テンプレートは前方反復のみをサポートします。
ユーティリティー関数 flatten2d
は、指定されたコンテナーから flattened2d
オブジェクトを作成します。
メンバー関数
- explicit flattened2d(const Container &c)
外部コンテナー c に含まれる内部コンテナーの要素のシーケンスを表す
flattened2d
を構築します。安全性: これらの操作は、同じ
flattened2d
で同時に呼び出してはなりません。
- flattened2d(const Container &c, typename Container::const_iterator first, typename Container::const_iterator last)
コンテナー
c
の半開区間[first, last)
のコンテナー内の要素のシーケンスを表わすflattened2d
を構築します。安全性: これらの操作は、同じ flattened2d で同時に呼び出してはなりません。
- size_type size() const
flattened2d
で参照できるコンテナーの合計サイズを返します。安全性: これらの操作は、同じ
flattened2d
で同時に呼び出すことができます。
- iterator begin()
ローカルコピーのセットの先頭を示す
iterator
を返します。
- iterator end()
ローカルコピーのセットの最後を示す
iterator
を返します。
- const_iterator begin() const
ローカルコピーのセットの先頭を示す
const_iterator
を返します。
- const_iterator end() const
ローカルコピーのセットの最後を示す
const_iterator
を返します。
非メンバー関数
- template<typename Container>
flattened2d<Container> flatten2d(const Container &c, const typename Container::const_iterator b, const typename Container::const_iterator e) コンテナー
c
の半開区間[b, e)
の要素を横断するイテレーターを提供するflattened2d
オブジェクトを構築して返します。
- template<typename Container>
flattened2d(const Container &c) コンテナー
c
のすべての要素を横断するイテレーターを提供するflattened2d
を構築して返します。