pdfmm 0.9.20
Public Member Functions | List of all members
mm::PdfXRefStreamParserObject Class Referencefinal

#include <PdfXRefStreamParserObject.h>

Inheritance diagram for mm::PdfXRefStreamParserObject:
mm::PdfParserObject mm::PdfObject

Public Member Functions

 PdfXRefStreamParserObject (PdfDocument &document, const std::shared_ptr< PdfInputDevice > &device, PdfXRefEntries &entries)
 
bool TryGetPreviousOffset (size_t &previousOffset) const
 
- Public Member Functions inherited from mm::PdfParserObject
 PdfParserObject (PdfDocument &document, const std::shared_ptr< PdfInputDevice > &device, ssize_t offset=-1)
 
 PdfParserObject ()
 
void FreeObjectMemory (bool force=false)
 
void ParseFile (PdfEncrypt *encrypt, bool isTrailer=false)
 
bool HasStreamToParse () const
 
bool IsLoadOnDemand () const
 
void SetLoadOnDemand (bool bDelayed)
 
ssize_t GetOffset () const
 
- Public Member Functions inherited from mm::PdfObject
 PdfObject ()
 
 PdfObject (const PdfVariant &var)
 
 PdfObject (bool b)
 
 PdfObject (int64_t l)
 
 PdfObject (double d)
 
 PdfObject (const PdfString &str)
 
 PdfObject (const PdfName &name)
 
 PdfObject (const PdfReference &ref)
 
 PdfObject (const PdfArray &arr)
 
 PdfObject (const PdfDictionary &dict)
 
 PdfObject (const PdfObject &rhs)
 
void Clear ()
 
PdfDataType GetDataType () const
 
const char * GetDataTypeString () const
 
bool IsBool () const
 
bool IsNumber () const
 
bool IsRealStrict () const
 
bool IsNumberOrReal () const
 
bool IsString () const
 
bool IsName () const
 
bool IsArray () const
 
bool IsDictionary () const
 
bool IsRawData () const
 
bool IsNull () const
 
bool IsReference () const
 
void ToString (std::string &data, PdfWriteMode writeMode=PdfWriteMode::Clean) const
 
bool GetBool () const
 
int64_t GetNumberLenient () const
 
int64_t GetNumber () const
 
double GetReal () const
 
double GetRealStrict () const
 
const PdfStringGetString () const
 
const PdfNameGetName () const
 
PdfReference GetReference () const
 
const PdfArrayGetArray () const
 
const PdfDictionaryGetDictionary () const
 
void SetBool (bool b)
 
void SetNumber (int64_t l)
 
void SetReal (double d)
 
void SetName (const PdfName &name)
 
void SetString (const PdfString &str)
 
void Write (PdfOutputDevice &device, PdfWriteMode writeMode, PdfEncrypt *encrypt) const
 
size_t GetObjectLength (PdfWriteMode writeMode)
 
PdfStreamGetOrCreateStream ()
 
const PdfStreamMustGetStream () const
 
PdfStreamMustGetStream ()
 
bool HasStream () const
 
void SetImmutable (bool isImmutable)
 
bool operator< (const PdfObject &rhs) const
 
bool operator== (const PdfObject &rhs) const
 
bool operator!= (const PdfObject &rhs) const
 
bool operator== (const PdfVariant &rhs) const
 
bool operator!= (const PdfVariant &rhs) const
 
const PdfObjectoperator= (const PdfObject &rhs)
 
bool IsDirty () const
 
PdfDocumentGetDocument () const
 
PdfDocumentMustGetDocument () const
 
const PdfReferenceGetIndirectReference () const
 
bool IsImmutable () const
 
void EnableDelayedLoading ()
 
bool DelayedLoadDone () const
 

Additional Inherited Members

- Protected Member Functions inherited from mm::PdfParserObject
void DelayedLoadImpl () override
 
- Protected Member Functions inherited from mm::PdfObject
void DelayedLoad () const
 
virtual void DelayedLoadImpl ()
 
void AssertMutable () const
 
void SetDirty ()
 
void SetDocument (PdfDocument &document)
 

Detailed Description

A utility class for PdfParser that can parse an XRef stream object.

It is mainly here to make PdfParser more modular. This is only marked PDFMM_API for the benefit of the tests, the class is for internal use only.

Constructor & Destructor Documentation

◆ PdfXRefStreamParserObject()

PdfXRefStreamParserObject::PdfXRefStreamParserObject ( PdfDocument document,
const std::shared_ptr< PdfInputDevice > &  device,
PdfXRefEntries &  entries 
)

Parse the object data from the given file handle starting at the current position.

Parameters
documentdocument where to resolve object references
devicean open reference counted input device which is positioned in front of the object which is going to be parsed.
bufferbuffer to use for parsing to avoid reallocations

Member Function Documentation

◆ TryGetPreviousOffset()

bool PdfXRefStreamParserObject::TryGetPreviousOffset ( size_t &  previousOffset) const
Returns
the offset of the previous XRef table