00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "bamEnums.h"
00016 #include "string_utils.h"
00017 #include "config_util.h"
00018
00019 ostream &
00020 operator << (ostream &out, BamEnums::BamEndian be) {
00021 switch (be) {
00022 case BamEnums::BE_bigendian:
00023 return out << "bigendian";
00024
00025 case BamEnums::BE_littleendian:
00026 return out << "littleendian";
00027 }
00028
00029 return out << "**invalid BamEnums::BamEndian value: (" << (int)be << ")**";
00030 }
00031
00032 istream &
00033 operator >> (istream &in, BamEnums::BamEndian &be) {
00034 string word;
00035 in >> word;
00036 if (cmp_nocase(word, "native") == 0) {
00037 be = BamEnums::BE_native;
00038
00039 } else if (cmp_nocase(word, "bigendian") == 0) {
00040 be = BamEnums::BE_bigendian;
00041
00042 } else if (cmp_nocase(word, "littleendian") == 0) {
00043 be = BamEnums::BE_littleendian;
00044
00045 } else {
00046 util_cat->error()
00047 << "Invalid bam_endian string: " << word << "\n";
00048 be = BamEnums::BE_native;
00049 }
00050
00051 return in;
00052 }
00053
00054
00055 ostream &
00056 operator << (ostream &out, BamEnums::BamObjectCode boc) {
00057 switch (boc) {
00058 case BamEnums::BOC_push:
00059 return out << "push";
00060
00061 case BamEnums::BOC_pop:
00062 return out << "pop";
00063
00064 case BamEnums::BOC_adjunct:
00065 return out << "adjunct";
00066
00067 case BamEnums::BOC_remove:
00068 return out << "remove";
00069
00070 case BamEnums::BOC_file_data:
00071 return out << "file_data";
00072 }
00073
00074 return out << "**invalid BamEnums::BamObjectCode value: (" << (int)boc << ")**";
00075 }
00076
00077 ostream &
00078 operator << (ostream &out, BamEnums::BamTextureMode btm) {
00079 switch (btm) {
00080 case BamEnums::BTM_unchanged:
00081 return out << "unchanged";
00082
00083 case BamEnums::BTM_fullpath:
00084 return out << "fullpath";
00085
00086 case BamEnums::BTM_relative:
00087 return out << "relative";
00088
00089 case BamEnums::BTM_basename:
00090 return out << "basename";
00091
00092 case BamEnums::BTM_rawdata:
00093 return out << "rawdata";
00094 }
00095
00096 return out << "**invalid BamEnums::BamTextureMode (" << (int)btm << ")**";
00097 }
00098
00099 istream &
00100 operator >> (istream &in, BamEnums::BamTextureMode &btm) {
00101 string word;
00102 in >> word;
00103
00104 if (cmp_nocase(word, "unchanged") == 0) {
00105 btm = BamEnums::BTM_unchanged;
00106 } else if (cmp_nocase(word, "fullpath") == 0) {
00107 btm = BamEnums::BTM_fullpath;
00108 } else if (cmp_nocase(word, "relative") == 0) {
00109 btm = BamEnums::BTM_relative;
00110 } else if (cmp_nocase(word, "basename") == 0) {
00111 btm = BamEnums::BTM_basename;
00112 } else if (cmp_nocase(word, "rawdata") == 0) {
00113 btm = BamEnums::BTM_rawdata;
00114
00115 } else {
00116 util_cat->error() << "Invalid BamEnums::BamTextureMode value: " << word << "\n";
00117 btm = BamEnums::BTM_relative;
00118 }
00119
00120 return in;
00121 }