| 72 |  | } | 
| 73 |  |  | 
| 74 |  | for (int i = 0; i < nblocks; ++i) { | 
| 75 | < | blocks_.push_back(SnapshotBlock(i, (i+1)*nSnapshotPerBlock_)); | 
| 75 | > | blocks_.push_back(SnapshotBlock(i*nSnapshotPerBlock_, (i+1)*nSnapshotPerBlock_)); | 
| 76 |  | } | 
| 77 |  | //the last block may not have nSnapshotPerBlock frames, we need to consider this special situation | 
| 78 |  | blocks_.back().second = nframes_; | 
| 79 |  |  | 
| 80 | < | snapshots_.insert(snapshots_.begin(), nframes_, NULL); | 
| 80 | > | snapshots_.insert(snapshots_.begin(), nframes_, static_cast<Snapshot*>(NULL)); | 
| 81 |  |  | 
| 82 |  | } | 
| 83 |  |  | 
| 97 |  | } | 
| 98 |  |  | 
| 99 |  | int BlockSnapshotManager::getNActiveBlocks() { | 
| 100 | + | #ifdef __RWSTD | 
| 101 | + | int count = 0; | 
| 102 | + | std::count_if(activeBlocks_.begin(), activeBlocks_.end(), std::bind2nd(std::not_equal_to<int>(), -1), count); | 
| 103 | + | return count; | 
| 104 | + | #else | 
| 105 |  | return std::count_if(activeBlocks_.begin(), activeBlocks_.end(), std::bind2nd(std::not_equal_to<int>(), -1)); | 
| 106 | + | #endif | 
| 107 |  | } | 
| 108 |  |  | 
| 109 |  | bool BlockSnapshotManager::isBlockActive(int block) { |