CMGDK r49-rc2
|
00001 # i f n d e f H G L _ A T O M I C _ I N C L U D E 00002 00003 # d e f i n e H G L _ A T O M I C _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / p l a t f o r m / P l a t f o r m . H > 00008 00009 n a m e s p a c e h g l 00010 00011 { 00012 00013 t y p e d e f v o l a t i l e u i n t a v u i n t ; 00014 00015 t y p e d e f c o n s t a v u i n t c a v u i n t ; 00016 00017 00018 00019 / * * 00020 00021 * SP[teWpencWNSP[d\Ovl o n g WSϑ!jb\ň 00022 00023 * / 00024 00025 c l a s s a t o m _ u i n t / / / SP[u i n t 3 2 penc 00026 00027 { 00028 00029 a v u i n t v a l u e ; 00030 00031 00032 00033 p u b l i c : 00034 00035 00036 00037 a t o m _ u i n t ( ) ; 00038 00039 a t o m _ u i n t ( c a v u i n t ) ; 00040 00041 ~ a t o m _ u i n t ( ) ; 00042 00043 00044 00045 o p e r a t o r u i n t ( ) ; 00046 00047 00048 00049 u i n t o p e r a t o r = ( c a v u i n t ) ; 00050 00051 00052 00053 u i n t o p e r a t o r + = ( c a v u i n t ) ; 00054 00055 u i n t o p e r a t o r - = ( c a v u i n t ) ; 00056 00057 00058 00059 u i n t o p e r a t o r * = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e * = v ) ; } 00060 00061 u i n t o p e r a t o r / = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e / = v ) ; } 00062 00063 u i n t o p e r a t o r % = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e % = v ) ; } 00064 00065 u i n t o p e r a t o r & = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e & = v ) ; } 00066 00067 u i n t o p e r a t o r | = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e | = v ) ; } 00068 00069 u i n t o p e r a t o r > > = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e > > = v ) ; } 00070 00071 u i n t o p e r a t o r < < = ( c a v u i n t v ) { r e t u r n o p e r a t o r = ( v a l u e < < = v ) ; } 00072 00073 00074 00075 u i n t o p e r a t o r ~ ( ) { r e t u r n o p e r a t o r = ( ~ v a l u e ) ; } 00076 00077 u i n t o p e r a t o r ! ( ) { r e t u r n o p e r a t o r = ( ! v a l u e ) ; } 00078 00079 00080 00081 u i n t o p e r a t o r + + ( ) ; / / MRn+ + 00082 00083 u i n t o p e r a t o r - - ( ) ; / / MRn- - 00084 00085 00086 00087 u i n t o p e r a t o r + + ( i n t ) / / Tn+ + 00088 00089 { 00090 00091 u i n t r e t = v a l u e ; 00092 00093 00094 00095 o p e r a t o r + + ( ) ; 00096 00097 00098 00099 r e t u r n r e t ; 00100 00101 } 00102 00103 00104 00105 u i n t o p e r a t o r - - ( i n t ) / / Tn- - 00106 00107 { 00108 00109 u i n t r e t = v a l u e ; 00110 00111 00112 00113 o p e r a t o r - - ( ) ; 00114 00115 00116 00117 r e t u r n r e t ; 00118 00119 } 00120 00121 } ; / / c l a s s a t o m _ u i n t 00122 00123 } / / n a m e s p a c e h g l 00124 00125 # e n d i f / / H G L _ A T O M I C _ I N C L U D E 00126 00127