31 #include "fastjet/LimitedWarning.hh"    37 FASTJET_BEGIN_NAMESPACE
    39 ostream * LimitedWarning::_default_ostr = &cerr;
    40 std::list< LimitedWarning::Summary > LimitedWarning::_global_warnings_summary;
    41 int LimitedWarning::_max_warn_default = 5;
    49 void LimitedWarning::warn(
const char * warning, std::ostream * ostr) {
    50   if (_this_warning_summary == 0) {
    52     _global_warnings_summary.push_back(Summary(warning, 0));
    53     _this_warning_summary = & (_global_warnings_summary.back());
    55   if (_n_warn_so_far < _max_warn) {
    57     ostringstream warnstr;
    58     warnstr << 
"WARNING from FastJet: ";
    61     if (_n_warn_so_far == _max_warn) warnstr << 
" (LAST SUCH WARNING)";
    67       (*ostr) << warnstr.str();
    73   if (_this_warning_summary->second < numeric_limits<unsigned>::max()) {
    74     _this_warning_summary->second++;
    79 string LimitedWarning::summary() {
    81   for (list<Summary>::const_iterator it = _global_warnings_summary.begin();
    82        it != _global_warnings_summary.end(); it++) {
    83     str << it->second << 
" times: " << it->first << endl;