Lines Matching refs:in
4 * you may not use this file except in compliance with the License.
9 * Unless required by applicable law or agreed to in writing, software
104 ifstream in(path, ios::binary);
105 if (!in.is_open()) {
110 in.seekg(0, ios::end);
111 int64_t length = in.tellg();
113 in.close();
116 in.seekg(0, ios::beg);
120 if (!ReadFileHeader(in, indexHeader, pos, static_cast<uint64_t>(length))) {
121 in.close();
126 if (!ReadLimitKeys(in, limitKeys, indexHeader.limitKeyConfigSize, pos, static_cast<uint64_t>(length))) {
127 in.close();
132 if (!ReadIdTables(in, datas, indexHeader.limitKeyConfigSize, pos, static_cast<uint64_t>(length))) {
133 in.close();
137 while (in.tellg() < length) {
139 if (!ReadDataRecordPrepare(in, record, pos, static_cast<uint64_t>(length)) ||
140 !ReadDataRecordStart(in, record, limitKeys, datas, resInfos)) {
141 in.close();
145 in.close();
350 bool ResourceTable::ReadFileHeader(ifstream &in, IndexHeader &indexHeader, uint64_t &pos, uint64_t length) const
357 in.read(reinterpret_cast<char *>(indexHeader.version), VERSION_MAX_LEN);
358 in.read(reinterpret_cast<char *>(&indexHeader.fileSize), INT_TO_BYTES);
359 in.read(reinterpret_cast<char *>(&indexHeader.limitKeyConfigSize), INT_TO_BYTES);
363 bool ResourceTable::ReadLimitKeys(ifstream &in, map<int64_t, vector<KeyParam>> &limitKeys,
373 in.read(reinterpret_cast<char *>(limitKey.keyTag), TAG_LEN);
379 in.read(reinterpret_cast<char *>(&limitKey.offset), INT_TO_BYTES);
380 in.read(reinterpret_cast<char *>(&limitKey.keyCount), INT_TO_BYTES);
390 in.read(reinterpret_cast<char *>(&keyParam.keyType), INT_TO_BYTES);
391 in.read(reinterpret_cast<char *>(&keyParam.value), INT_TO_BYTES);
399 bool ResourceTable::ReadIdTables(std::ifstream &in, std::map<int64_t, std::pair<int64_t, int64_t>> &datas,
409 int64_t offset = in.tellg();
410 in.read(reinterpret_cast<char *>(idss.idTag), TAG_LEN);
416 in.read(reinterpret_cast<char *>(&idss.idCount), INT_TO_BYTES);
425 in.read(reinterpret_cast<char *>(&data.id), INT_TO_BYTES);
426 in.read(reinterpret_cast<char *>(&data.dataOffset), INT_TO_BYTES);
433 bool ResourceTable::ReadDataRecordPrepare(ifstream &in, RecordItem &record, uint64_t &pos, uint64_t length) const
440 in.read(reinterpret_cast<char *>(&record.size), INT_TO_BYTES);
446 in.read(reinterpret_cast<char *>(&record.resType), INT_TO_BYTES);
447 in.read(reinterpret_cast<char *>(&record.id), INT_TO_BYTES);
451 bool ResourceTable::ReadDataRecordStart(std::ifstream &in, RecordItem &record,
456 int64_t offset = in.tellg();
459 in.read(reinterpret_cast<char *>(&value_size), sizeof(uint16_t));
465 in.read(reinterpret_cast<char *>(&values), value_size);
468 in.read(reinterpret_cast<char *>(&name_size), sizeof(uint16_t));
474 in.read(reinterpret_cast<char *>(name), name_size);