#ifndef STEPH #define STEPH #include using namespace std; template inline void print(const T& t) {cout << t;} inline void print(unsigned char c) {cout << static_cast(c);} inline void print(const char *p) {cout << "\"" << p << "\"";} template const T& stand(const void *p) { cout << p << ": "; const T& t = *static_cast(p); print(t); cout << "\n"; return t; } template const T& step(const void *& rpv) //non-const reference { const T *& rpt = reinterpret_cast(rpv); return stand(rpt++); } #endif