15 struct __B__ :
public __A__ {};
24 template<
class U,
class V>
25 inline void print(std::ostream& out,
const char* uname,
const char* vname)
30 out << setw(36) << left << string(
"<") + string(uname) + string(
",") + string(vname) + string(
">");
31 out << setw(4) <<
'.' << setw(8) << left << JConversion<U, V>::is_same;
32 out << setw(4) <<
'.' << setw(8) << left << JConversion<U, V>::is_derived;
45#define PRINT(OUT, U, V) print<U,V>(OUT, #U, #V)
54int main(
int argc,
char **argv)
63 JParser<> zap(
"Example program to test class inspection.");
69 catch(
const exception &error) {
70 FATAL(error.what() << endl);
73 if (
debug >= debug_t) {
75 cout << setw(36) << left <<
"name";
76 cout << setw(12) <<
" same ";
77 cout << setw(12) <<
" derived";
82 PRINT(cout, __A__, __A__);
83 PRINT(cout, __B__, __A__);
84 PRINT(cout, __A__, __B__);
85 PRINT(cout, __A__, __B__);
#define PRINT(OUT, U, V)
Print class parameters.
int main(int argc, char **argv)
General purpose messaging.
#define ASSERT(A,...)
Assert macro.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
void print(const TH1 &h1, std::ostream &out)
Print histogram parameters.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Template class test for polymorphism.