Model Railroad System  2.2.2
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
FCFSupport::PDFFileStructures::CrossReferenceTable Class Reference

The cross reference table object. More...

#include <PDFPrinterSupport.h>

Public Member Functions

 CrossReferenceTable ()
 Constructor. More...
 
 ~CrossReferenceTable ()
 Destructor. More...
 
void AddIndirectObjectToTable (IndirectObject *obj)
 Add an indirect object to the cross reference table. More...
 
streampos WriteTable (ostream &stream) const
 Write this cross reference table out. More...
 
unsigned long int HighestObjectNumber () const
 Return the highest object number. More...
 

Private Types

typedef map< unsigned long int, IndirectObject *, less< unsigned long int > > objectMap
 The object table type. More...
 

Private Member Functions

void FreeObject (unsigned long int objNum)
 Free up a object slot in the cross reference table. More...
 

Private Attributes

objectMap objectTable
 The table of objects. More...
 

Static Private Attributes

static unsigned long int lastObjectNumber
 The last used object number. More...
 

Friends

class IndirectObject
 

Detailed Description

The cross reference table object.

The stricture holds the cross-reference table, which is used to index and access indirect objects of various sorts.

Author
Robert Heller <heller@deepsoft.com>

Member Typedef Documentation

◆ objectMap

typedef map<unsigned long int, IndirectObject*, less<unsigned long int> > FCFSupport::PDFFileStructures::CrossReferenceTable::objectMap
private

The object table type.

Constructor & Destructor Documentation

◆ CrossReferenceTable()

FCFSupport::PDFFileStructures::CrossReferenceTable::CrossReferenceTable ( )

Constructor.

Initialize a cross reference table object.

◆ ~CrossReferenceTable()

FCFSupport::PDFFileStructures::CrossReferenceTable::~CrossReferenceTable ( )
inline

Destructor.

Cleans things up.

Member Function Documentation

◆ AddIndirectObjectToTable()

void FCFSupport::PDFFileStructures::CrossReferenceTable::AddIndirectObjectToTable ( IndirectObject obj)

Add an indirect object to the cross reference table.

Parameters
objThe object to add.

◆ FreeObject()

void FCFSupport::PDFFileStructures::CrossReferenceTable::FreeObject ( unsigned long int  objNum)
private

Free up a object slot in the cross reference table.

Parameters
objNumThe object number to free up.

Referenced by FCFSupport::PDFFileStructures::IndirectObject::~IndirectObject().

◆ HighestObjectNumber()

unsigned long int FCFSupport::PDFFileStructures::CrossReferenceTable::HighestObjectNumber ( ) const
inline

Return the highest object number.

References lastObjectNumber.

◆ WriteTable()

streampos FCFSupport::PDFFileStructures::CrossReferenceTable::WriteTable ( ostream &  stream) const

Write this cross reference table out.

Returns the file position.

Parameters
streamThe stream to write to.

Friends And Related Function Documentation

◆ IndirectObject

friend class IndirectObject
friend

Member Data Documentation

◆ lastObjectNumber

unsigned long int FCFSupport::PDFFileStructures::CrossReferenceTable::lastObjectNumber
staticprivate

The last used object number.

Referenced by HighestObjectNumber().

◆ objectTable

objectMap FCFSupport::PDFFileStructures::CrossReferenceTable::objectTable
private

The table of objects.