void cg_formatter::output(ostream & out, symbol_collection const & syms) { // amount of spacing prefixing child and parent lines string const child_parent_prefix(" "); output_header(out); out << string(79, '-') << endl; symbol_collection::const_iterator it; symbol_collection::const_iterator end = syms.end(); for (it = syms.begin(); it < end; ++it) { cg_symbol const * sym = dynamic_cast<cg_symbol const *>(*it); // To silence coverity (since dynamic cast can theoretically return NULL) if (!sym) continue; cg_symbol::children::const_iterator cit; cg_symbol::children::const_iterator cend = sym->callers.end(); counts_t c; if (global_percent) c.total = counts.total; else c.total = sym->total_caller_count; for (cit = sym->callers.begin(); cit != cend; ++cit) { out << child_parent_prefix; do_output(out, *cit, cit->sample, c); } do_output(out, *sym, sym->sample, counts); c = counts_t(); if (global_percent) c.total = counts.total; else c.total = sym->total_callee_count; cend = sym->callees.end(); for (cit = sym->callees.begin(); cit != cend; ++cit) { out << child_parent_prefix; do_output(out, *cit, cit->sample, c); } out << string(79, '-') << endl; } }
void cg_formatter::output(ostream & out, cg_collection const & syms) { // amount of spacing prefixing child and parent lines string const child_parent_prefix(" "); output_header(out); out << string(79, '-') << endl; cg_collection::const_iterator it; cg_collection::const_iterator end = syms.end(); for (it = syms.begin(); it < end; ++it) { cg_symbol const & sym = *it; cg_symbol::children::const_iterator cit; cg_symbol::children::const_iterator cend = sym.callers.end(); counts_t c; if (global_percent) c.total = counts.total; else c.total = sym.total_caller_count; for (cit = sym.callers.begin(); cit != cend; ++cit) { out << child_parent_prefix; do_output(out, *cit, cit->sample, c); } do_output(out, sym, sym.sample, counts); c = counts_t(); if (global_percent) c.total = counts.total; else c.total = sym.total_callee_count; cend = sym.callees.end(); for (cit = sym.callees.begin(); cit != cend; ++cit) { out << child_parent_prefix; do_output(out, *cit, cit->sample, c); } out << string(79, '-') << endl; } }