- const Backtrace::FrameSeq &frames=bt.get_frames();
- for(Backtrace::FrameSeq::const_iterator i=frames.begin(); i!=frames.end(); ++i)
- out<<i->address<<" in "<<i->symbol<<" from "<<i->file<<'\n';
+ for(const Backtrace::StackFrame &f: bt.get_frames())
+ out << f << '\n';
+
+ return out;
+}
+
+ostream &operator<<(ostream &out, const Backtrace::StackFrame &sf)
+{
+ out << sf.address;
+ if(!sf.symbol.empty())
+ out << " in " << sf.symbol;
+ out << " from " << sf.file;