Changeset 42 for trunk/lib/Stats.cc


Ignore:
Timestamp:
Jan 13, 2006, 6:16:59 PM (16 years ago)
Author:
Peter Johansson
Message:

removed stupid copying

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Stats.cc

    r41 r42  
    4646    std::vector<u_int> vec=(map_.find(user))->second;
    4747 
    48     vec.reserve(latest_revision_+1);
    4948    if (vec.size() < latest_revision_+1)
    5049      vec.insert(vec.end(), latest_revision_+1-vec.size(), 0);
     
    5756  void Stats::add(const std::string& user, const u_int& rev)
    5857  {
    59     std::vector<u_int> vec = map_[user];
    60     if (vec.size() < rev+1){
    61       u_int i=vec.size();
    62       vec.resize(rev+1);
    63       for (; i<rev; i++)
    64         vec[i]=0;
    65       vec[rev]=1;
     58    std::vector<u_int>* vec = &(map_[user]);
     59    if (vec->size() < rev+1){
     60      vec->reserve(rev+1);
     61      vec->insert(vec->end(), rev - vec->size(),0);
     62      vec->push_back(1);
    6663      latest_revision_ = std::max(latest_revision_,rev);
    6764    }
    6865    else
    69       vec[rev]++;
    70     map_[user]=vec;
     66      (*vec)[rev]++;
    7167  }
    7268
Note: See TracChangeset for help on using the changeset viewer.