print_obj.h

00001 /***************************************************************************
00002 *   Copyright (C) 2004 by Rick L. Vinyard, Jr.                            *
00003 *   rvinyard@cs.nmsu.edu                                                  *
00004 *                                                                         *
00005 *   This program is free software; you can redistribute it and/or modify  *
00006 *   it under the terms of the GNU Lesser General Public License as        *
00007 *   published by the Free Software Foundation version 2.1.                *
00008 *                                                                         *
00009 *   This program is distributed in the hope that it will be useful,       *
00010 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00011 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00012 *   GNU General Public License for more details.                          *
00013 *                                                                         *
00014 *   You should have received a copy of the GNU Lesser General Public      *
00015 *   License along with this library; if not, write to the                 *
00016 *   Free Software Foundation, Inc.,                                       *
00017 *   51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA              *
00018 ***************************************************************************/
00019 #ifndef PRINTOBJ_H
00020 #define PRINTOBJ_H
00021 
00022 inline void print( Object& obj )
00023 {
00024   Object::iterator i;
00025 
00026   cout << endl << "All properties in instance " << obj.name() << " of class " << obj.class_name() << ":\n";
00027   for ( i = obj.properties_begin(); i != obj.properties_end(); i++ ) {
00028     cout << "  Property: " << i->name() << endl
00029          << "    Type: " << i->type().name() << endl
00030          << "    Value: " << i->value() << endl
00031          << "    xml: " << i->xml() << endl
00032          << endl;
00033 
00034     if ( i->num_properties() > 0 ) print( *i );
00035   }
00036 
00037   cout << "xml: " << endl << obj.xml( 1 ) << endl << endl;
00038 }
00039 
00040 #endif

Generated on Thu Jan 11 00:26:41 2007 by  doxygen 1.5.1