CMGDK r49-rc2
|
00001 # i f n d e f H G L _ V M _ I N C L U D E 00002 00003 # d e f i n e H G L _ V M _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < s t r i n g . h > 00008 00009 / * * 00010 00011 * Zb:gqQ(u } 00012 00013 * / 00014 00015 00016 00017 n a m e s p a c e h g l 00018 00019 { 00020 00021 # d e f i n e v m _ m e t h o d ( c , m ) v m _ m e t h o d _ p t r < s i z e o f ( v o i d ( c : : * ) ( ) ) > : : C o n v e r t ( ( v o i d ( c : : * ) ( ) ) ( & c : : m ) ) 00022 00023 00024 00025 t e m p l a t e < i n t > 00026 00027 s t r u c t v m _ m e t h o d _ p t r 00028 00029 { 00030 00031 t e m p l a t e < c l a s s M > 00032 00033 s t a t i c v o i d * C o n v e r t ( M o b j ) 00034 00035 { 00036 00037 u n i o n u 00038 00039 { 00040 00041 M m ; 00042 00043 v o i d * v ; 00044 00045 } ; 00046 00047 00048 00049 r e t u r n ( ( u * ) ( & o b j ) ) - > v ; 00050 00051 } 00052 00053 } ; 00054 00055 00056 00057 / / hQ@\(u 00058 00059 # d e f i n e M a p M e m b e r F u n c ( n a m e , t h i s _ p o i n t e r , c l a s s , f u n c ) M a p F u n c ( n a m e , t h i s _ p o i n t e r , v m _ m e t h o d ( c l a s s , f u n c ) ) 00060 00061 # d e f i n e M a p C p p F u n c ( n a m e , t h i s _ p o i n t e r , c l a s s , f u n c ) M a p M e m b e r F u n c ( n a m e , t h i s _ p o i n t e r , c l a s s , f u n c ) 00062 00063 00064 00065 / / [a(u 00066 00067 # d e f i n e M a p O b j e c t ( n a m e , c l a s s , c r e a t e , c l e a r ) C r e a t e O b j e c t M a p ( n a m e , s i z e o f ( c l a s s ) , c r e a t e , c l e a r ) 00068 00069 # d e f i n e M a p O b j e c t P r o p e r t y ( n a m e , c l a s s , v a l u e ) M a p P r o p e r t y ( n a m e , o f f s e t o f ( c l a s s , c l a s s : : v a l u e ) ) 00070 00071 # d e f i n e M a p O b j e c t F u n c ( n a m e , c l a s s , f u n c ) M a p F u n c ( n a m e , v m _ m e t h o d ( c l a s s , f u n c ) ) 00072 00073 } / / n a m e s p a c e h g l 00074 00075 # e n d i f / / H G L _ V M _ I N C L U D E 00076 00077