CMGDK r49-rc2
|
00001 # i f n d e f H G L _ I O _ E N D I A N _ D A T A _ I N P U T _ S T R E A M _ I N C L U D E 00002 00003 # d e f i n e H G L _ I O _ E N D I A N _ D A T A _ I N P U T _ S T R E A M _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / i o / D a t a I n p u t S t r e a m . H > 00008 00009 # i n c l u d e < h g l / e n d i a n / E n d i a n . H > 00010 00011 n a m e s p a c e h g l 00012 00013 { 00014 00015 n a m e s p a c e i o 00016 00017 { 00018 00019 c l a s s D i r e c t D a t a I n p u t S t r e a m : p u b l i c D a t a I n p u t S t r e a m 00020 00021 { 00022 00023 p u b l i c : 00024 00025 00026 00027 D i r e c t D a t a I n p u t S t r e a m ( I n p u t S t r e a m * i s ) : D a t a I n p u t S t r e a m ( i s ) 00028 00029 { 00030 00031 } 00032 00033 00034 00035 v i r t u a l ~ D i r e c t D a t a I n p u t S t r e a m ( ) 00036 00037 { 00038 00039 } 00040 00041 00042 00043 # d e f i n e S T R E A M _ D I R E C T _ R E A D ( t y p e , n a m e ) v i r t u a l b o o l R e a d # # n a m e ( t y p e & v a l u e ) { r e t u r n R e a d ( v a l u e ) ; } 00044 00045 00046 00047 S T R E A M _ D I R E C T _ R E A D ( i n t 1 6 , I n t 1 6 ) ; 00048 00049 S T R E A M _ D I R E C T _ R E A D ( i n t 3 2 , I n t 3 2 ) ; 00050 00051 S T R E A M _ D I R E C T _ R E A D ( i n t 6 4 , I n t 6 4 ) ; 00052 00053 00054 00055 S T R E A M _ D I R E C T _ R E A D ( u i n t 1 6 , U i n t 1 6 ) ; 00056 00057 S T R E A M _ D I R E C T _ R E A D ( u i n t 3 2 , U i n t 3 2 ) ; 00058 00059 S T R E A M _ D I R E C T _ R E A D ( u i n t 6 4 , U i n t 6 4 ) ; 00060 00061 00062 00063 S T R E A M _ D I R E C T _ R E A D ( w c h a r _ t , W i d e C h a r ) ; 00064 00065 S T R E A M _ D I R E C T _ R E A D ( f l o a t , F l o a t ) ; 00066 00067 S T R E A M _ D I R E C T _ R E A D ( d o u b l e , D o u b l e ) ; 00068 00069 00070 00071 # u n d e f S T R E A M _ D I R E C T _ R E A D 00072 00073 } ; / / c l a s s D i r e c t D a t a I n p u t S t r e a m 00074 00075 00076 00077 c l a s s S w a p D a t a I n p u t S t r e a m : p u b l i c D a t a I n p u t S t r e a m 00078 00079 { 00080 00081 p u b l i c : 00082 00083 00084 00085 S w a p D a t a I n p u t S t r e a m ( I n p u t S t r e a m * i s ) : D a t a I n p u t S t r e a m ( i s ) 00086 00087 { 00088 00089 } 00090 00091 00092 00093 v i r t u a l ~ S w a p D a t a I n p u t S t r e a m ( ) 00094 00095 { 00096 00097 } 00098 00099 00100 00101 # d e f i n e S T R E A M _ S W A P _ R E A D ( t y p e , n a m e ) v i r t u a l b o o l R e a d # # n a m e ( t y p e & v a l u e ) \ 00102 00103 { \ 00104 00105 t y p e s w a p _ v a l u e ; \ 00106 00107 \ 00108 00109 i f ( R e a d ( s w a p _ v a l u e ) ) \ 00110 00111 r e t u r n ( f a l s e ) ; \ 00112 00113 \ 00114 00115 v a l u e = E n d i a n S w a p ( s w a p _ v a l u e ) ; \ 00116 00117 r e t u r n ( t r u e ) ; \ 00118 00119 } 00120 00121 00122 00123 S T R E A M _ S W A P _ R E A D ( i n t 1 6 , I n t 1 6 ) ; 00124 00125 S T R E A M _ S W A P _ R E A D ( i n t 3 2 , I n t 3 2 ) ; 00126 00127 S T R E A M _ S W A P _ R E A D ( i n t 6 4 , I n t 6 4 ) ; 00128 00129 00130 00131 S T R E A M _ S W A P _ R E A D ( u i n t 1 6 , U i n t 1 6 ) ; 00132 00133 S T R E A M _ S W A P _ R E A D ( u i n t 3 2 , U i n t 3 2 ) ; 00134 00135 S T R E A M _ S W A P _ R E A D ( u i n t 6 4 , U i n t 6 4 ) ; 00136 00137 00138 00139 S T R E A M _ S W A P _ R E A D ( w c h a r _ t , W i d e C h a r ) ; 00140 00141 S T R E A M _ S W A P _ R E A D ( f l o a t , F l o a t ) ; 00142 00143 S T R E A M _ S W A P _ R E A D ( d o u b l e , D o u b l e ) ; 00144 00145 00146 00147 # u n d e f S T R E A M _ S W A P _ R E A D 00148 00149 } ; / / c l a s s S w a p D a t a I n p u t S t r e a m 00150 00151 00152 00153 # i f H G L _ E N D I A N = = H G L _ L I T T L E _ E N D I A N 00154 00155 t y p e d e f D i r e c t D a t a I n p u t S t r e a m L E D a t a I n p u t S t r e a m ; 00156 00157 t y p e d e f S w a p D a t a I n p u t S t r e a m B E D a t a I n p u t S t r e a m ; 00158 00159 # e l s e 00160 00161 t y p e d e f D i r e c t D a t a I n p u t S t r e a m B E D a t a I n p u t S t r e a m ; 00162 00163 t y p e d e f S w a p D a t a I n p u t S t r e a m L E D a t a I n p u t S t r e a m ; 00164 00165 # e n d i f / / H G L _ E N D I A N = = H G L _ L I T T L E _ E N D I A N 00166 00167 } / / n a m e s p a c e i o 00168 00169 } / / n a m e s p a c e h g l 00170 00171 # e n d i f / / H G L _ I O _ E N D I A N _ D A T A _ I N P U T _ S T R E A M _ I N C L U D E 00172 00173