38 #ifndef META_TYPELIST_DIAGNOSTICS_H 39 #define META_TYPELIST_DIAGNOSTICS_H 61 Numz (uint x =0) : o_(x) { }
62 operator uint ()
const {
return o_; }
74 Num (uint x = uint(I)) :
Numz(x) { }
80 template<u
int bit>
struct Flag;
107 static string print () {
return "-"; }
113 template<
class T=NullType,
class BASE=NullP>
117 static string print () {
return _Fmt(
"-<%s>%s") % typeStr<T>() % BASE::print(); }
124 static string print () {
return _Fmt(
"-<%u>%s") %
"·" % BASE::print(); }
127 template<
class BASE,
int I>
131 static string print () {
return _Fmt(
"-<%u>%s") % uint(
Num<I>::VAL) % BASE::print(); }
134 template<
class BASE, u
int Fl>
138 static string print () {
return _Fmt(
"-<%u>%s") % uint(Fl) % BASE::print(); }
145 static string print () {
return _Fmt(
"-<%u>%s") %
'i' % BASE::print(); }
157 return SubList::print();
161 template<
class TY,
class TYPES,
class BASE>
165 static string print ()
168 return string(
"\n\t+--") + printSublist<List>()+
"+" 173 template<u
int f1, u
int f2, u
int f3, u
int f4, u
int f5,
class BASE>
177 static string print ()
180 return string(
"\n\t+-Conf-[") + printSublist<FlagList>()+
"]" 191 template<
typename TYPES>
197 return DumpPrinter::print();
203 #define DISPLAY(_IT_) \ 204 cout << STRINGIFY(_IT_) << "\t:" << showType<_IT_>() << endl; 206 #define DUMPVAL(_IT_) \ 207 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.