#include "tbb/blocked_range3d.h"
template<typename PageValue, typename RowValue, typename ColValue> class blocked_range3d;
blocked_range3d<PageValue,RowValue,ColValue> は、blocked_range2d の 3 次元拡張です。
namespace tbb { template<typename PageValue, typename RowValue=PageValue, typename ColValue=RowValue> class blocked_range3d { public: // 型 typedef blocked_range<PageValue> page_range_type; typedef blocked_range<RowValue> row_range_type; typedef blocked_range<ColValue> col_range_type; // コンストラクター blocked_range3d( PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize); blocked_range3d( PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end); blocked_range3d( blocked_range3d& r, split ); blocked_range3d( blocked_range3d& r, proportional_split& proportion ); // 比例分割が可能 static const bool is_splittable_in_proportion = true; // キャパシティー bool empty() const; // アクセス bool is_divisible() const; const page_range_type& pages() const; const row_range_type& rows() const; const col_range_type& cols() const; }; }