0001 #include "print.h" 0002 0003 /****************************************************************************************** 0004 * 基本类型 0005 ******************************************************************************************/ 0006 void UniPrint::p( int e ) { printf( " %4d", e ); } 0007 void UniPrint::p( size_t e ) { p( (int)e ); } // Rank型0xFFFFFFFF在打印前先转换为-1,以便观察 0008 void UniPrint::p( float e ) { printf( " %4.3f", e ); } 0009 void UniPrint::p( double e ) { printf( " %4.3f", e ); } 0010 void UniPrint::p( char e ) { printf( " %c", ( 31 < e ) && ( e < 128 ) ? e : '$' ); } 0011 void UniPrint::p( VStatus e ) { 0012 switch ( e ) { 0013 case UNDISCOVERED: printf ( "U" ); break; 0014 case DISCOVERED: printf ( "D" ); break; 0015 case VISITED: printf ( "V" ); break; 0016 default: printf ( "X" ); break; 0017 } 0018 } 0019 void UniPrint::p( EType e ) { 0020 switch ( e ) { 0021 case UNDETERMINED: printf ( "U" ); break; 0022 case TREE: printf ( "T" ); break; 0023 case CROSS: printf ( "C" ); break; 0024 case BACKWARD: printf ( "B" ); break; 0025 case FORWARD: printf ( "F" ); break; 0026 default: printf ( "X" ); break; 0027 } 0028 }