2 // Copyright (c) 2010-2017 Intel Corporation
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
30 MemReader(MappedFile *file, const vector<size_t> &offsets);
31 bool read(Stream3 *stream);
32 size_t getTotalLength() const {return totalLength;}
33 size_t consumed() const;
35 size_t getRangeLengths() const;
36 uint32_t getLowestID() const;
37 void removeEmptyRanges();
38 void readStream(Stream3 *stream, uint32_t id);
39 void initRanges(uint8_t *begin, uint8_t *end, const vector<size_t> &offsets);
42 vector<pair <uint8_t *, uint8_t *> > ranges;
45 #endif /* _MEMREADER_H_ */