FreePOOMA  2.4.1
Classes
View.h File Reference

View1<Object,Domain>::Type_t is defined for several Pooma objects, and tells you the type of a(b). More...

This graph shows which files directly or indirectly include this file:

Classes

struct  View0< Thing >
 View0 enables you to write: More...
struct  View1< Thing, Sub >
 View1 enables you to write: More...
struct  View2< Thing, Sub1, Sub2 >
 View2 enables you to write: More...
struct  View3< Thing, Sub1, Sub2, Sub3 >
 View3 enables you to write: More...
struct  View4< Thing, Sub1, Sub2, Sub3, Sub4 >
 View4 enables you to write: More...
struct  View5< Thing, Sub1, Sub2, Sub3, Sub4, Sub5 >
 View5 enables you to write: More...
struct  View6< Thing, Sub1, Sub2, Sub3, Sub4, Sub5, Sub6 >
 View6 enables you to write: More...
struct  View7< Thing, Sub1, Sub2, Sub3, Sub4, Sub5, Sub6, Sub7 >
 View7 enables you to write: More...

Detailed Description

View1<Object,Domain>::Type_t is defined for several Pooma objects, and tells you the type of a(b).

You should be able to write code like:

 A a;
 B b;
 typename View1<A,B>::Type_t c = a(b);
 

ViewN will also give the type for the read() member function in arrays and fields.

To define the view properties for a new class, you should specialize View for that class. Reliance on the partial specialization ordering rules for more than one argument is a very bad thing, so never define View for a particular domain and general A. (It will be common for us to define View for general domains with a particular A, so specializations with general A would also require complete specializations in order to avoid ambiguity.)