retdec
blob_stream.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_FILEFORMAT_TYPES_DOTNET_HEADERS_BLOB_STREAM_H
8 #define RETDEC_FILEFORMAT_TYPES_DOTNET_HEADERS_BLOB_STREAM_H
9 
10 #include <unordered_map>
11 
13 
14 namespace retdec {
15 namespace fileformat {
16 
17 class BlobStream : public Stream
18 {
19  private:
20  std::unordered_map<std::size_t, std::vector<std::uint8_t>> elements;
21  public:
22  BlobStream(std::uint64_t streamOffset, std::uint64_t streamSize);
23 
26  std::vector<std::uint8_t> getElement(std::size_t offset) const;
28 
31  void addElement(std::size_t offset, const std::vector<std::uint8_t>& data);
33 };
34 
35 } // namespace fileformat
36 } // namespace retdec
37 
38 #endif
Definition: blob_stream.h:18
void addElement(std::size_t offset, const std::vector< std::uint8_t > &data)
Definition: blob_stream.cpp:40
BlobStream(std::uint64_t streamOffset, std::uint64_t streamSize)
Definition: blob_stream.cpp:17
std::vector< std::uint8_t > getElement(std::size_t offset) const
Definition: blob_stream.cpp:26
std::unordered_map< std::size_t, std::vector< std::uint8_t > > elements
Definition: blob_stream.h:20
Definition: stream.h:33
std::uint64_t offset
Definition: stream.h:36
Definition: archive_wrapper.h:19
Abstract class for Stream.