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
00019
00020 #define H_P__NAME(h) HTLname2(P_,h)
00021
00022
00023
00024 #define H_P__REF(h) ooHandle( H_P__NAME(h) )
00025
00026
00027
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
00032
00033
00034
00035 #define H_P_REF(h) ooHandle(h)
00036
00037
00038
00039
00040
00041
00042
00043
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
00049
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