25#ifndef REALM_SPARSITY_H
26#define REALM_SPARSITY_H
43 template <
int N,
typename T >
45 template <
int N,
typename T >
47 template <
int N,
typename T =
int>
50 template <
int N,
typename T>
64 template <
int N,
typename T>
139 bool always_create,
bool disjoint);
142 bool always_create,
bool disjoint);
146 template <
int N,
typename T>
149 template <
int N,
typename T>
156 template <
int N,
typename T>
170 template <
int N,
typename T>
255#include "realm/sparsity.inl"
Definition sparsity.h:171
std::vector< Rect< N, T > > approx_rects
Definition sparsity.h:250
SparsityMapPublicImpl(void)
REALM_PUBLIC_API bool overlaps(SparsityMapPublicImpl< N, T > *other, const Rect< N, T > &bounds, bool approx)
REALM_PUBLIC_API const std::vector< Rect< N, T > > & get_approx_rects(void)
REALM_PUBLIC_API const std::vector< SparsityMapEntry< N, T > > & get_entries(void)
REALM_PUBLIC_API bool compute_covering(const Rect< N, T > &bounds, size_t max_rects, int max_overhead, std::vector< Rect< N, T > > &covering)
REALM_PUBLIC_API Event make_valid(bool precise=true)
REALM_PUBLIC_API bool is_valid(bool precise=true)
std::vector< SparsityMapEntry< N, T > > entries
Definition sparsity.h:249
::realm_id_t id_t
Definition sparsity.h:67
bool operator!=(const SparsityMap< N, T > &rhs) const
id_t id
Definition sparsity.h:68
REALM_INTERNAL_API_EXTERNAL_LINKAGE SparsityMapPublicImpl< N, T > * impl(void) const
static REALM_INTERNAL_API_EXTERNAL_LINKAGE SparsityMap< N, T > construct(const std::vector< Point< N, T > > &points, bool always_create, bool disjoint)
bool operator==(const SparsityMap< N, T > &rhs) const
static REALM_INTERNAL_API_EXTERNAL_LINKAGE SparsityMap< N, T > construct(const std::vector< Rect< N, T > > &rects, bool always_create, bool disjoint)
bool operator<(const SparsityMap< N, T > &rhs) const
void remove_reference(unsigned count=1, Event wait_on=Event::NO_EVENT)
REALM_CUDA_HD bool exists(void) const
Event add_reference(unsigned count=1)
void destroy(Event wait_on=Event::NO_EVENT, unsigned count=1)
#define REALM_INTERNAL_API_EXTERNAL_LINKAGE
Definition compiler_support.h:218
#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
Definition activemsg.h:38
std::ostream & operator<<(std::ostream &os, const DenseRectangleList< N, T > &drl)
unsigned long long realm_id_t
Definition realm_c.h:64
Definition sparsity.h:150
Rect< N, T > bounds
Definition sparsity.h:151
HierarchicalBitMap< N, T > * bitmap
Definition sparsity.h:153
SparsityMap< N, T > sparsity
Definition sparsity.h:152