7#ifndef CORE_FXCRT_CFX_MEMORYSTREAM_H_
8#define CORE_FXCRT_CFX_MEMORYSTREAM_H_
10#include "core/fxcrt/data_vector.h"
11#include "core/fxcrt/fx_stream.h"
12#include "core/fxcrt/retain_ptr.h"
13#include "core/fxcrt/span.h"
22 bool IsEOF()
override;
25 bool WriteBlock(pdfium::span<
const uint8_t> buffer)
override;
26 bool Flush()
override;
34 DataVector<uint8_t> m_data;
35 size_t m_nCurSize = 0;
FX_FILESIZE GetPosition() override
~CFX_MemoryStream() override
bool ReadBlockAtOffset(pdfium::span< uint8_t > buffer, FX_FILESIZE offset) override
FX_FILESIZE GetSize() override
bool WriteBlock(pdfium::span< const uint8_t > buffer) override
pdfium::span< const uint8_t > GetSpan() const
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
ByteString GetNameFor(const ByteString &key) const
bool WriteDictTo(IFX_ArchiveStream *archive, const CPDF_Encryptor *encryptor) const
RetainPtr< const CPDF_Dictionary > GetDict() const
static constexpr uint32_t kInvalidObjNum
RetainPtr< CPDF_Object > CloneObjectNonCyclic(bool bDirect) const
RetainPtr< CPDF_Object > Clone() const override
size_t GetRawSize() const
CPDF_Stream * AsMutableStream() override
bool WriteTo(IFX_ArchiveStream *archive, const CPDF_Encryptor *encryptor) const override
void SetDataFromStringstreamAndRemoveFilter(fxcrt::ostringstream *stream)
Type GetType() const override
void SetDataAndRemoveFilter(pdfium::span< const uint8_t > pData)
void SetDataFromStringstream(fxcrt::ostringstream *stream)
DataVector< uint8_t > ReadAllRawData() const
void SetData(pdfium::span< const uint8_t > pData)
pdfium::span< const uint8_t > GetInMemoryRawData() const
RetainPtr< CPDF_Object > CloneNonCyclic(bool bDirect, std::set< const CPDF_Object * > *pVisited) const override
WideString GetUnicodeText() const override
const CPDF_Dictionary * GetDictInternal() const override
void InitStreamFromFile(RetainPtr< IFX_SeekableReadStream > file)
bool WriteString(ByteStringView str)
bool operator==(const char *ptr) const
#define CONSTRUCT_VIA_MAKE_RETAIN
fxcrt::WideString WideString