title: typeid and type_info class
body: <pre><code>namespace std {
   class type_info
   {
   public:
    virtual ~type_info(); //type_info can serve as a base class
   // enable comparison
    bool operator==(const type_info&amp; rhs ) const;
   // return !( *this == rhs)
    bool operator!=(const type_info&amp; rhs ) const;
    bool before(const type_info&amp; rhs ) const; // ordering
   //return a C-string containing the type's name
    const char* name() const;
   private:
    //objects of this type cannot be copied
       type_info(const type_info&amp; rhs );
       type_info&amp; operator=(const type_info&amp; rhs);
   }; //type_info
  }  
  </code></pre>
  
  <p>In the declaration of type_info class ,I can't find any data member .So what is constructed or destructed ??  Also typeid isn't declared in it.So how type_info object is accessed by it?<br>
  Is above representation incomplete? <strong>Please tell about the type of data member in <code>type_info</code> class</strong> </p>