MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / FinishLoad

Method FinishLoad

src/io/sparse_bin.hpp:243–264  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

241 OrderedBin* CreateOrderedBin() const override;
242
243 void FinishLoad() override {
244 // get total non zero size
245 size_t pair_cnt = 0;
246 for (size_t i = 0; i < push_buffers_.size(); ++i) {
247 pair_cnt += push_buffers_[i].size();
248 }
249 std::vector<std::pair<data_size_t, VAL_T>>& idx_val_pairs = push_buffers_[0];
250 idx_val_pairs.reserve(pair_cnt);
251
252 for (size_t i = 1; i < push_buffers_.size(); ++i) {
253 idx_val_pairs.insert(idx_val_pairs.end(), push_buffers_[i].begin(), push_buffers_[i].end());
254 push_buffers_[i].clear();
255 push_buffers_[i].shrink_to_fit();
256 }
257 // sort by data index
258 std::sort(idx_val_pairs.begin(), idx_val_pairs.end(),
259 [](const std::pair<data_size_t, VAL_T>& a, const std::pair<data_size_t, VAL_T>& b) {
260 return a.first < b.first;
261 });
262 // load delta array
263 LoadFromPair(idx_val_pairs);
264 }
265
266 void LoadFromPair(const std::vector<std::pair<data_size_t, VAL_T>>& idx_val_pairs) {
267 deltas_.clear();

Callers

nothing calls this directly

Calls 8

sortFunction · 0.85
sizeMethod · 0.45
reserveMethod · 0.45
insertMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
clearMethod · 0.45
shrink_to_fitMethod · 0.45

Tested by

no test coverage detected