- // Find constant by name (!! this is bad: 'twould be better if there
- // was a list of all global constants that we could search)
- string s;
- if (n.find_string("name", s)) {
- if (s == Pi.name)
- return Pi;
- else if (s == Catalan.name)
- return Catalan;
- else if (s == EulerGamma.name)
- return EulerGamma;
- else
- throw (std::runtime_error("unknown constant '" + s + "' in archive"));
- } else
- throw (std::runtime_error("unnamed constant in archive"));
+ c.s << std::string(level, ' ') << name << " (" << class_name() << ")" << " @" << this
+ << std::hex << ", hash=0x" << hashvalue << ", flags=0x" << flags << std::dec
+ << std::endl;