29#ifndef META_TYPELIST_DIAGNOSTICS_H
30#define META_TYPELIST_DIAGNOSTICS_H
53 operator uint ()
const {
return o_; }
71 template<u
int bit>
struct Flag;
98 static string show() {
return "-"; }
104 template<
class T=Nil,
class BASE=NullP>
115 static string show() {
return _Fmt(
"-<%s>%s") %
"·" % BASE::show(); }
118 template<
class BASE,
int I>
125 template<
class BASE, u
int Fl>
136 static string show() {
return _Fmt(
"-<%s>%s") %
'i' % BASE::show(); }
148 return PrinterChain::show();
152 template<
class TY,
class TYPES,
class BASE>
164 template<u
int f1, u
int f2, u
int f3, u
int f4, u
int f5,
class BASE>
182 template<
typename TYPES>
199#define DISPLAY(_IT_) \
200 cout << STRINGIFY(_IT_) << "\t:" << showType<_IT_>() << endl;
202#define DUMPVAL(_IT_) \
203 cout << STRINGIFY(_IT_) << "\t:" << util::toString(_IT_) << endl;
205#define EXPECT(_TY_, RENDERED_STRUCTURE ) \
206 CHECK (showType<_TY_>() == RENDERED_STRUCTURE ## _expect)
A front-end for using printf-style formatting.
Helpers for working with lib::meta::Types (i.e.
Implementation namespace for support and library code.
Test runner and basic definitions for tests.
A collection of frequently used helper functions to support unit testing.
A template metaprogramming technique for manipulating collections of types.