Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::DomainTransform< N, T, N2, T2 > Class Template Reference

#include <indexspace.h>

Public Types

enum  DomainTransformType { NONE = 0 , STRUCTURED = 1 , UNSTRUCTURED_PTR = 2 , UNSTRUCTURED_RANGE = 3 }
 

Public Member Functions

 DomainTransform (void)=default
 
 DomainTransform (const StructuredTransform< N, T, N2, T2 > &_transform)
 
 DomainTransform (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &_field_data)
 
 DomainTransform (const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &_field_data)
 

Public Attributes

StructuredTransform< N, T, N2, T2 > structured_transform
 
std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > ptr_data
 
std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > range_data
 
DomainTransformType type = DomainTransformType::NONE
 

Detailed Description

template<int N, typename T, int N2, typename T2>
class Realm::DomainTransform< N, T, N2, T2 >

A domain transform is used to represent a transform from one index space to another (both structured and unstructured). It is templated on the dimensionality (N) and base type (T) of the index space that defines the domain over which the transform is defined, and the dimensionality (N2) and base type (T2) of the index space that defines the range of the transform.

Member Enumeration Documentation

◆ DomainTransformType

template<int N, typename T , int N2, typename T2 >
enum Realm::DomainTransform::DomainTransformType
Enumerator
NONE 
STRUCTURED 
UNSTRUCTURED_PTR 
UNSTRUCTURED_RANGE 

Constructor & Destructor Documentation

◆ DomainTransform() [1/4]

template<int N, typename T , int N2, typename T2 >
Realm::DomainTransform< N, T, N2, T2 >::DomainTransform ( void  )
default

◆ DomainTransform() [2/4]

template<int N, typename T , int N2, typename T2 >
Realm::DomainTransform< N, T, N2, T2 >::DomainTransform ( const StructuredTransform< N, T, N2, T2 > &  _transform)

◆ DomainTransform() [3/4]

template<int N, typename T , int N2, typename T2 >
Realm::DomainTransform< N, T, N2, T2 >::DomainTransform ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Point< N, T > > > &  _field_data)

◆ DomainTransform() [4/4]

template<int N, typename T , int N2, typename T2 >
Realm::DomainTransform< N, T, N2, T2 >::DomainTransform ( const std::vector< FieldDataDescriptor< IndexSpace< N2, T2 >, Rect< N, T > > > &  _field_data)

Member Data Documentation

◆ ptr_data

template<int N, typename T , int N2, typename T2 >
std::vector<FieldDataDescriptor<IndexSpace<N2, T2>, Point<N, T> > > Realm::DomainTransform< N, T, N2, T2 >::ptr_data

◆ range_data

template<int N, typename T , int N2, typename T2 >
std::vector<FieldDataDescriptor<IndexSpace<N2, T2>, Rect<N, T> > > Realm::DomainTransform< N, T, N2, T2 >::range_data

◆ structured_transform

template<int N, typename T , int N2, typename T2 >
StructuredTransform<N, T, N2, T2> Realm::DomainTransform< N, T, N2, T2 >::structured_transform

◆ type

template<int N, typename T , int N2, typename T2 >
DomainTransformType Realm::DomainTransform< N, T, N2, T2 >::type = DomainTransformType::NONE

The documentation for this class was generated from the following file: