#if !defined(__cplusplus)
#error Must use C++ for typeinfo.h
#endif

#ifndef __TYPEINFO_H
#define __TYPEINFO_H

#ifndef __DEFS_H__
#include <_defs.h>
#endif

#include <exception>

class                   tpid;

namespace std {

class _RTL_CLASS type_info
{

public:

        tpid          * tpp;

private:
                 type_info(const type_info &);
    type_info &  operator=(const type_info &);

public:
    virtual      ~type_info();

    bool         operator==(const type_info  &) const;
    bool         operator!=(const type_info  &) const;

    bool         before(const type_info  &) const;

    const char * name() const;

protected:
                 type_info(tpid *_tpp) { tpp = _tpp; }
};

class _RTL_CLASS   bad_cast : public exception {};
class _RTL_CLASS   bad_typeid{};

} // std

#endif
