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 0012 void UniPrint::p(VStatus e) { 0013 switch (e) { 0014 case UNDISCOVERED: printf("U"); break; 0015 case DISCOVERED: printf("D"); break; 0016 case VISITED: printf("V"); break; 0017 default: printf("X"); break; 0018 } 0019 } //VStatus 0020 0021 void UniPrint::p(EType e) { 0022 switch (e) { 0023 case UNDETERMINED: printf("U"); break; 0024 case TREE: printf("T"); break; 0025 case CROSS: printf("C"); break; 0026 case BACK: printf("B"); break; 0027 case FORWARD: printf("F"); break; 0028 default: printf("X"); break; 0029 } 0030 } //EType