#include <iosfwd>

/*!
  The following code exhibits a bug in 1.4.7-20060910.
*/
class A {
public:
  /*! \brief
    Loads from \p s an ASCII representation (as produced by
    ascii_dump(std::ostream&)) and sets \p *this accordingly.
    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
  */
  bool ascii_load(std::istream& s);

  /*! \brief
    Writes to \c std::cerr an ASCII representation of \p *this.
  */
  void ascii_dump() const;

  /*! \brief
    Writes to \p s an ASCII representation of \p *this.
  */
  void ascii_dump(std::ostream& s) const;
};
