29 #ifndef META_TYPELIST_DIAGNOSTICS_H 30 #define META_TYPELIST_DIAGNOSTICS_H 52 Numz (uint x =0) : o_(x) { }
53 operator uint ()
const {
return o_; }
65 Num (uint x = uint(I)) :
Numz(x) { }
71 template<u
int bit>
struct Flag;
98 static string print () {
return "-"; }
104 template<
class T=NullType,
class BASE=NullP>
108 static string print () {
return _Fmt(
"-<%s>%s") % typeStr<T>() % BASE::print(); }
115 static string print () {
return _Fmt(
"-<%u>%s") %
"·" % BASE::print(); }
118 template<
class BASE,
int I>
122 static string print () {
return _Fmt(
"-<%u>%s") % uint(
Num<I>::VAL) % BASE::print(); }
125 template<
class BASE, u
int Fl>
129 static string print () {
return _Fmt(
"-<%u>%s") % uint(Fl) % BASE::print(); }
136 static string print () {
return _Fmt(
"-<%u>%s") %
'i' % BASE::print(); }
148 return SubList::print();
152 template<
class TY,
class TYPES,
class BASE>
156 static string print ()
159 return string(
"\n\t+--") + printSublist<List>()+
"+" 164 template<u
int f1, u
int f2, u
int f3, u
int f4, u
int f5,
class BASE>
168 static string print ()
171 return string(
"\n\t+-Conf-[") + printSublist<FlagList>()+
"]" 182 template<
typename TYPES>
188 return DumpPrinter::print();
194 #define DISPLAY(_IT_) \ 195 cout << STRINGIFY(_IT_) << "\t:" << showType<_IT_>() << endl; 197 #define DUMPVAL(_IT_) \ 198 cout << STRINGIFY(_IT_) << "\t:" << util::toString(_IT_) << endl;
A template metaprogramming technique for manipulating collections of types.
Helpers for working with lib::meta::Types (i.e.
A front-end for using printf-style formatting.
Implementation namespace for support and library code.