33 template <
int N,
typename T =
int>
35 template <
int N,
typename T =
int>
37 template <
int N,
typename T =
int>
39 template <
int M,
int N,
typename T =
int>
41 template <
int N,
typename T =
int>
44 struct CopySrcDstField;
45 class ProfilingRequestSet;
49#define ONLY_IF_INTEGRAL(Type) std::enable_if_t<std::is_integral<Type>::value, Type>
54 template <
int N,
typename T>
63 template <
typename Arg0,
typename Arg1,
typename... Args>
66 template <typename T2, std::enable_if_t<std::is_integral<T2>::value,
bool> =
true>
68 template <typename T2, std::enable_if_t<std::is_integral<T2>::value,
bool> =
true>
71 template <
typename T2>
73 template <
typename T2>
81 template <
typename T2>
103 template <
typename T = int,
typename... U>
104 [[nodiscard]]
constexpr auto make_point(
const U &...rest) ->
Point<
sizeof...(rest), T>
109 template <
int N,
typename T>
113 template <
int N,
typename T,
typename T2>
115 template <
int N,
typename T,
typename T2>
118 template <
int N,
typename T,
typename T2>
120 template <
int N,
typename T,
typename T2>
122 template <
int N,
typename T,
typename T2>
124 template <
int N,
typename T,
typename T2>
126 template <
int N,
typename T,
typename T2>
128 template <
int N,
typename T,
typename T2>
130 template <
int N,
typename T,
typename T2>
132 template <
int N,
typename T,
typename T2>
134 template <
int N,
typename T,
typename T2>
136 template <
int N,
typename T,
typename T2>
142 template <
int N,
typename T>
152 template <
typename T2>
154 template <
typename T2>
187 template <
int N2,
typename T2>
194 size_t fill_value_size,
Event wait_on = Event::NO_EVENT,
195 int priority = 0)
const;
198 const std::vector<CopySrcDstField> &dsts,
200 int priority = 0)
const;
205 int priority = 0)
const;
208 template <
int N,
typename T>
211 template <
int M,
int N,
typename T>
214 template <
int N,
typename T,
typename T2>
216 template <
int N,
typename T,
typename T2>
220 template <
int N,
typename T,
typename T2>
222 template <
int N,
typename T,
typename T2>
224 template <
int N,
typename T,
typename T2>
226 template <
int N,
typename T,
typename T2>
229 template <
int M,
int N,
typename T>
237 template <
typename T2>
239 template <
typename T2>
248 template <
int M,
int N,
typename T,
typename T2>
250 template <
int M,
int P,
int N,
typename T,
typename T2>
253 template <
int M,
int N,
typename T,
typename T2>
255 template <
int M,
int N,
typename T,
typename T2>
258 template <
int N,
typename T>
281 template <
int N,
typename T>
286 template <
int N,
typename T>
292#include "realm/point.inl"
294#undef ONLY_IF_INTEGRAL
bool valid
Definition point.h:262
REALM_CUDA_HD bool step(void)
Point< N, T > p
Definition point.h:261
REALM_CUDA_HD PointInRectIterator(void)
Rect< N, T > rect
Definition point.h:263
REALM_CUDA_HD void reset(const Rect< N, T > &_r, bool _fortran_order=true)
bool fortran_order
Definition point.h:264
REALM_CUDA_HD PointInRectIterator(const Rect< N, T > &_r, bool _fortran_order=true)
Definition profiling.h:363
#define REALM_CUDA_HD
Definition compiler_support.h:95
#define REALM_PUBLIC_API
Definition compiler_support.h:217
Realm::Point< N, T > Point
Definition prealm.h:539
Realm::PointInRectIterator< N, T > PointInRectIterator
Definition prealm.h:582
Realm::Matrix< M, N, T > Matrix
Definition prealm.h:584
Definition activemsg.h:38
REALM_CUDA_HD Point< N, T > operator%(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > operator+(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > & operator+=(Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > & operator*=(Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > & operator/=(Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD bool operator!=(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > & operator%=(Point< N, T > &lhs, const Point< N, T2 > &rhs)
constexpr auto make_point(const U &...rest) -> Point< sizeof...(rest), T >
Helper function to initialize Point from a list of types without needing to explicitly specify the di...
Definition point.h:104
REALM_CUDA_HD bool operator==(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > operator/(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > operator*(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
REALM_CUDA_HD Point< N, T > & operator-=(Point< N, T > &lhs, const Point< N, T2 > &rhs)
std::ostream & operator<<(std::ostream &os, const DenseRectangleList< N, T > &drl)
REALM_CUDA_HD Point< N, T > operator-(const Point< N, T > &lhs, const Point< N, T2 > &rhs)
Definition indexspace.h:1279
#define ONLY_IF_INTEGRAL(Type)
Definition point.h:49
Definition indexspace.h:323
REALM_CUDA_HD Matrix(void)
REALM_CUDA_HD Matrix(const Matrix< M, N, T2 > ©_from)
REALM_CUDA_HD Matrix< M, N, T > & operator=(const Matrix< M, N, T2 > ©_from)
REALM_CUDA_HD Point< N, T > & operator[](int index)
typedef ONLY_IF_INTEGRAL(T) value_type
REALM_CUDA_HD const Point< N, T > & operator[](int index) const
REALM_CUDA_HD const T & x() const
REALM_CUDA_HD Point(T2 vals[N])
REALM_CUDA_HD const T & w() const
REALM_CUDA_HD Point< N, T > & operator=(const Point< N, T2 > ©_from)
typedef ONLY_IF_INTEGRAL(T) value_type
REALM_CUDA_HD Point(T2 val)
REALM_CUDA_HD Point(const Point< N, T2 > ©_from)
REALM_CUDA_HD T dot(const Point< N, T2 > &rhs) const
REALM_CUDA_HD const T & operator[](int index) const
REALM_CUDA_HD Point(value_type val)
REALM_CUDA_HD const T & y() const
static REALM_CUDA_HD constexpr Point< N, T > ONES(void)
REALM_CUDA_HD T & operator[](int index)
REALM_CUDA_HD Point(Arg0 val0, Arg1 val1, Args... vals)
static REALM_CUDA_HD constexpr Point< N, T > ZEROES(void)
REALM_CUDA_HD const T & z() const
REALM_CUDA_HD bool contains(const IndexSpace< N, T > &is) const
REALM_CUDA_HD size_t volume(void) const
Event fill(const std::vector< CopySrcDstField > &dsts, const ProfilingRequestSet &requests, const void *fill_value, size_t fill_value_size, Event wait_on=Event::NO_EVENT, int priority=0) const
REALM_CUDA_HD Rect< N, T > intersection(const Rect< N, T > &other) const
typedef ONLY_IF_INTEGRAL(T) value_type
REALM_CUDA_HD bool contains(const Point< N, T > &p) const
REALM_CUDA_HD Rect< N, T > & operator=(const Rect< N, T2 > ©_from)
Point< N, T > hi
Definition point.h:145
REALM_CUDA_HD bool empty(void) const
Event copy(const std::vector< CopySrcDstField > &srcs, const std::vector< CopySrcDstField > &dsts, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
REALM_CUDA_HD bool contains(const Rect< N, T > &other) const
static REALM_CUDA_HD Rect< N, T > make_empty(void)
REALM_CUDA_HD bool overlaps(const Rect< N, T > &other) const
REALM_CUDA_HD Rect(const Rect< N, T2 > ©_from)
REALM_CUDA_HD Rect< N, T > union_bbox(const Rect< N, T > &other) const
Rect< N2, T2 > REALM_CUDA_HD apply_transform(const Matrix< N2, N, T2 > &transform, const Point< N2, T2 > &offset) const
Event copy(const std::vector< CopySrcDstField > &srcs, const std::vector< CopySrcDstField > &dsts, const IndexSpace< N, T > &mask, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
REALM_CUDA_HD Rect(const Point< N, T > &_lo, const Point< N, T > &_hi)
bool operator()(const Realm::Point< N, T > &p1, const Realm::Point< N, T > &p2) const
bool operator()(const Realm::Rect< N, T > &r1, const Realm::Rect< N, T > &r2) const