Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

P_macros.h

Go to the documentation of this file.
00001 #ifndef _H_P__LIFE_H_
00002 #define _H_P__LIFE_H_ 1
00003 
00004 #include "HTL/H_macros.h"
00005 
00006 
00007 //
00008 // ***************************************************************************
00009 //
00010 
00011 #include <oo.h>
00012 
00013 #define HTLname2(a,b) gEnErIc2(a,b)
00014 #define gEnErIc2(a,b) a ## b
00015 
00016 
00017 #define H_P_DURABLE             public ooObj, 
00018         // I_Histo must inherit from this class to be persistent capable.
00019 
00020 #define H_P__NAME(h)    HTLname2(P_,h)
00021         // For persistent histograms:
00022         // eg. H_P__NAME(Histo_1D) --> P_Histo_1D
00023 
00024 #define H_P__REF(h)             ooHandle( H_P__NAME(h) )
00025         // Handle to a persistent histogram.
00026         // `h' must be a valid base histo name: I_Histo, Histo_1D...
00027         // eg. H_P__REF( I_Histo ) --> ooHandle( P_I_Histo )
00028 
00029 #define H_P__NEW1(h)            new H_P__NAME(h)
00030 #define H_P__NEW2(location, h)  new (location) H_P__NAME(h)
00031         // Book a persistent histogram in a federated db, db, or container 
00032         // depending on `location'.
00033 
00034 
00035 #define H_P_REF(h)              ooHandle(h)
00036 
00037 
00038 //
00039 // Clustering directive:
00040 //
00041 
00042 // Allocate new object in the same cluster as the one where the current
00043 // object is.
00044 #define H_P_NEW_CLUSTER0                new ( ooThis().containedIn() )
00045 
00046 #define H_P_CLUSTER1(a_place)           ooHandle(ooObj) &a_place
00047 #define H_P_NEW_CLUSTER1(a_place)       new (a_place)
00048 // Replaced by H_P_NEW_CLUSTER1
00049 //#define H_P_CLUSTER2(a_place)                 ooHandle(ooObj) &a_place
00050 
00051 #define H_P_THIS                        ooThis()
00052 
00053 #ifdef H_BIN_UPDATE
00054 #undef H_BIN_UPDATE
00055 #endif
00056 
00057 #define H_BIN_UPDATE                    update_(); start_update();
00058 
00059 #define P_HTL_STR_CONV(x) x
00060 
00061 #endif
00062 


Anaphe documentation generated by Doxygen (www.doxygen.org)