home *** CD-ROM | disk | FTP | other *** search
- #ifndef _H_RTTI_IMPL
- #define _H_RTTI_IMPL
-
- /* %Z%%I% %G% %U% %W% */
- /*
- * COMPONENT_NAME: (COMINC) Common Header File for RTTI
- *
- * ORIGINS: 27
- *
- * (C) COPYRIGHT International Business Machines Corp. 1992
- * This work was supported by a grant from International Business
- * Machines, Inc. These procedures are contributed to the public domain
- * by International Business Machines Inc. "AS IS" without any warranty
- * of any kind including the warranty of merchantability or fitness
- * for a particular purpose.
- *
- *
- * This is free software. Feel free to redistribute and/or modify it.
- * Please send us e-mail and let us know if you have any problems
- * or suggestions.
- *
- * Arindam Banerji
- * axb@cse.nd.edu
- *
- */
-
-
- // rttiimpl.h
- // This file includes the definition of the RTTI implementation as specified
- // by Stousroup. The implementation is portable to any compiler. The base
- // list class defined here is primarily geared towards creating a complete
- // list of all the base classes (direct or indirect) of a particular class.
-
- const int BASE_LIST_INCR = 5 ; // space for base classes are added
- // in increments, as needed.
-
-
- class base_list {
- public :
- base_list () : sz (0) , list (0), num(0) { } ;
- base_list (const Type_info **b) ;
- ~base_list ( ) { delete [] (Type_info *) list ; }
- int number() { return sz ; }
- void copy_bases (const Type_info **b) ;
- private :
- int sz ;
- const Type_info **list ;
- int num ;
- void add_to_list (const Type_info *) ;
- void add ( const Type_info *) ;
- } ; // specification for the class that actually creates a list of bases
-
- #endif // _H_RTTI_IMPL
-