28   inline void print(std::ostream& out, 
const char* name)
 
   33     out << setw(36) << left << name;
 
   34     out << setw(4) << 
'.' << setw(8) << left << JAbstractClass<T>::is_abstract;
 
   46 #define PRINT(OUT, T)   print<T>(OUT, #T) 
   55 int main(
int argc, 
char **argv)
 
   64     JParser<> zap(
"Example program to test class inspection.");
 
   70   catch(
const exception &error) {
 
   71     FATAL(error.what() << endl);
 
   76     cout << setw(36) << left << 
"name";
 
   77     cout << setw(12) << 
"abstract";
 
   87   ASSERT(!JAbstractClass<int>  ::is_abstract);
 
   88   ASSERT(!JAbstractClass<__A__>::is_abstract);
 
   89   ASSERT( JAbstractClass<__C__>::is_abstract);