Changeset 468


Ignore:
Timestamp:
Aug 30, 2007, 8:11:12 PM (14 years ago)
Author:
Peter Johansson
Message:

Added load function in Stats class. refs #78. This ticket is hereby in principle completed. However, I would not trust the implementation, but the functions, Stats::load and Stats::print, should be tested. At minimum they should work together.

Location:
trunk/lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Stats.cc

    r465 r468  
    143143      ++(*empty)[rev];
    144144  }
     145
     146
     147  void Stats::load(std::istream& is)
     148  {
     149    is >> last_changed_rev_;
     150    size_t a_size=0;
     151    authors_.clear();
     152    is >> a_size;
     153    std::string str;
     154    while (authors_.size()<a_size){
     155      getline(is, str);
     156      authors_.insert(str);
     157    }
     158    load(is, code_);
     159    load(is, comments_);
     160    load(is, empty_);
     161    load(is, total_);
     162  }
     163
     164
     165  void Stats::load(std::istream& is, Map_& m)
     166  {
     167    m.clear();
     168    while (m.size() < authors_.size()) {
     169      std::string name;
     170      std::getline(is, name);
     171      std::vector<u_int>& vec=m[name];
     172      size_t revs=0;
     173      is >> revs;
     174      vec.reserve(revs);
     175      while (vec.size() < revs) {
     176        u_int tmp;
     177        is >> tmp;
     178        vec.push_back(tmp);
     179      }
     180    }
     181  }
    145182
    146183
  • trunk/lib/Stats.h

    r454 r468  
    179179
    180180
     181    /**
     182       Load object from a stream.
     183     */
     184    void load(std::istream&);
     185
     186    /**
     187       Load map from stream
     188     */
     189    void load(std::istream&, Map_&);
     190
    181191    void print(std::ostream& os, const Map_& map) const;
    182192
Note: See TracChangeset for help on using the changeset viewer.