///////////////////////////////////////////////////////////////////////////
// FILE: typeinfo.h/typeinfo (RTTI support)
//
// =========================================================================
//
//                          Open Watcom Project
//
//    Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved.
//    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
//
//    This file is automatically generated. Do not edit directly.
//
// =========================================================================
//
// Description: This header is part of the C++ standard library. It
//              defines some classes and exceptions that pertain to
//              run time type identification support.
///////////////////////////////////////////////////////////////////////////
#ifndef _TYPEINFO_INCLUDED
#define _TYPEINFO_INCLUDED

#ifndef _ENABLE_AUTODEPEND
 #pragma read_only_file;
#endif

#ifndef __cplusplus
 #error This header file requires C++
#endif

#ifndef _COMDEF_H_INCLUDED
 #include <_comdef.h>
#endif

#ifndef _EXCEPTION_INCLUDED
 #include <exceptio>
#endif

namespace std {

  class _WPRTLINK type_info {
  public:
    ~type_info();
    bool operator ==( type_info const & ) const;
    bool operator !=( type_info const & ) const;
    bool before( type_info const & ) const;
    const char *name() const;
    const char *raw_name() const;
  private:
    type_info( type_info const & );
    type_info & operator =( type_info const & );
    mutable void const *__data;
    char const __raw[1];
  };

  class _WPRTLINK bad_cast : public exception {
  public:
    bad_cast( ) _WCTHROWS()
        : exception( "invalid dynamic cast" ) { }
  };

  class _WPRTLINK bad_typeid : public exception {
  public:
    bad_typeid( ) _WCTHROWS()
        : exception( "bad typeid expression" ) { }
  };

} // namespace std

#endif
