14 #include <type_traits>
23 template <
int dimensions = 1>
class nd_range {
24 range<dimensions> globalSize;
25 range<dimensions> localSize;
26 id<dimensions> offset;
27 static_assert(dimensions >= 1 && dimensions <= 3,
28 "nd_range can only be 1, 2, or 3 dimensional.");
33 id<dimensions> offset)
34 : globalSize(globalSize), localSize(localSize), offset(offset) {}
37 : globalSize(globalSize), localSize(localSize), offset(
id<dimensions>()) {
47 id<dimensions> get_offset()
const {
return offset; }
58 return (rhs.globalSize == this->globalSize) &&
59 (rhs.localSize == this->localSize) && (rhs.offset == this->offset);
63 return !(*
this == rhs);