Classes |
struct | CombineDomain< RT, CT, DS > |
| CombineDomain is a utility class used only by the 'fill*' methods of NewDomain2 ... More...
|
struct | CombineSliceDomainWC< RT, UT, CT, DS, SliceDS, incl, wc > |
| the general version of CombineSliceDomainWC ... More...
|
struct | CombineSliceDomainWC< RT, UT, CT, DS, SliceDS, true, false > |
| specialization of CombineSliceDomainWC in which we fill in slice domain values and full domain values, but without using wildcards More...
|
struct | CombineSliceDomainWC< RT, UT, CT, DS, SliceDS, false, true > |
| specialization of CombineSliceDomainWC in which we only fill in total domain values, using wildcards More...
|
struct | CombineSliceDomainWC< RT, UT, CT, DS, SliceDS, true, true > |
| specialization of CombineSliceDomainWC in which we fill in slice domain values and full domain values, using wildcards More...
|
struct | CombineSliceDomain< RT, UT, CT, DS, SliceDS, incl > |
| the general version of CombineSliceDomain ... More...
|
struct | NewDomain2Base< T1, T2, TCombine, TSCombine > |
struct | AddNewDomain2Dimensions< T1, T2 > |
class | NewDomain2< T1, T2 > |
struct | NewDomain2< Grid< D >, IndirectionList< int > > |
struct | NewDomain2< IndirectionList< int >, Grid< D > > |
struct | NewDomain2< Loc< D1 >, Loc< D2 > > |
struct | NewDomainNBase< ND, T > |
struct | NewDomain1< T1 > |
struct | NewDomain3< T1, T2, T3 > |
struct | NewDomain4< T1, T2, T3, T4 > |
struct | NewDomain5< T1, T2, T3, T4, T5 > |
struct | NewDomain6< T1, T2, T3, T4, T5, T6 > |
struct | NewDomain7< T1, T2, T3, T4, T5, T6, T7 > |
struct | TemporaryNewDomain1< Domain, Sub > |
struct | TemporaryNewDomain1< Domain, AllDomain< N > > |
Defines |
#define | POOMA_NEWDOMAIN_SAME_SCALAR(DOM, SLICEDOM, S) |
#define | POOMA_NEWDOMAIN_SAME(DOM, SLICEDOM) |
#define | POOMA_NEWDOMAIN_OTHER(DOM1, DOM2) |
#define | POOMA_NEWDOMAIN_SLICE_SAME_SCALAR(SLICEDOM, S) |
#define | POOMA_NEWDOMAIN_SLICE_SAME(SLICEDOM) |
#define | POOMA_NEWDOMAIN_SLICE_OTHER(DOM1, DOM2, SLICEDOM) |
#define | POOMA_NEWDOMAIN_CONTINUOUS_SAME(DOM) |
#define | POOMA_NEWDOMAIN_CONTINUOUS_SCALAR(DOM, S) |
#define | POOMA_NEWDOMAIN_CONTINUOUS_OTHER(DOM1, DOM2) |
#define | POOMA_NEWDOMAIN_JUST_SCALAR_SAME(S, DOM) |
#define | POOMA_NEWDOMAIN_JUST_SCALAR_OTHER(S1, S2, DOM, S3) |
#define | POOMA_NEWDOMAIN_JUST_SCALAR_DOMAIN(S, DOM1, DOM2) |
A set of simple structs which tell how to combine different Domain objects together.
They are named NewDomain1 ... NewDomain7, are templated on from 1 ... 7 different domain types, and provide the following interface:
- NewDomain2<T1,T2>::Type_t newdom; // resulting type when Domains combined
- NewDomain2<T1,T2>::SliceType_t slicedom; // type for 'sliced' Dom's
- newdom = NewDomain2<T1,T2>::combine(a,b); // combine a & b, return combo
- NewDomain2<T1,T2>::fill(newdom, a, b); // combine a & b into newdom
- slicedom = NewDomain2<T1,T2>::combineSlice(a,b); // 'slice' a & b
- NewDomain2<T1,T2>::fillSlice(slicedom, a, b); // 'slice' into slicedom
similarly for NewDomain1, and NewDomain3 ... NewDomain7