libart-paperback 0.1.0-a.1.20260122225059.e5fea306241a
PDF (1.4) library for C++
Art::Paperback::Carousel::Writer Class Reference

Public Member Functions

 Writer (ostream &, int, int)
 Constructor.
 
ostream & output ()
 Access the underlying output stream.
 
void write_header (string const &)
 Write a COS-file header.
 
void write_object (Identity const &, Object_model::Container_base const &)
 Write an object.
 
void begin_xref ()
 Begin a new cross-reference table.
 
void begin_xref_chunk (Index, uint16_t)
 Begin a new cross-reference table chunk.
 
void write_xref_used_entry (streamoff, Generation)
 Write a used entry.
 
void write_xref_free_entry (Index, Generation)
 Write a free entry.
 
void write_trailer (Dictionary const &)
 Write a COS-file trailer.
 
void write_eof (streamoff)
 Write an EOF marker.
 

Private Member Functions

void emit_reference (Identity const &)
 Emit a reference to an indirect object.
 
void emit (Undefined const &)
 Emit undefined.
 
void emit (Boolean const &)
 Emit a boolean object.
 
void emit (Integer const &)
 Emit an integer object.
 
void emit (Real const &)
 Emit a real object.
 
void emit (Text const &)
 Emit a text object.
 
void emit (Name const &)
 Emit a name object.
 
void emit (Array const &)
 Emit an array object.
 
void emit (Dictionary const &)
 Emit a dictionary object.
 
void dispatch_emit (Object const &)
 Dispatch the emission of an object.
 
void dispatch_emit (Object_model::Container_base const &)
 Dispatch the emission of an object.
 
void new_line ()
 Write a new line marker.
 
 Writer (Writer const &)=delete
 
 Writer (Writer &&)=delete
 
Writeroperator= (Writer const &)=delete
 
Writeroperator= (Writer &&)=delete
 

Private Attributes

ostream & _output
 
int _major {}
 
int _minor {}
 
string::size_type _indent {}
 

Constructor & Destructor Documentation

◆ Writer()

Art::Paperback::Carousel::Writer::Writer ( ostream & output,
int major,
int minor )

Constructor.

Parameters
outputThe output stream to write to.
majorThe major version of the document to write.
minorThe minor version of the document to write.

Member Function Documentation

◆ output()

ostream & Art::Paperback::Carousel::Writer::output ( )

Access the underlying output stream.

Returns
Returns a reference to the underlying output stream.

◆ write_header()

void Art::Paperback::Carousel::Writer::write_header ( string const & header)

Write a COS-file header.

This function will automatically write a binary comment immediately following the COS-file header, as per the recommendation of the PDF-1.4 specification.

Parameters
headerThe COS-file header.

◆ write_object()

void Art::Paperback::Carousel::Writer::write_object ( Identity const & identity,
Object_model::Container_base const & container )

Write an object.

Parameters
identityThe identity of the object.
containerThe object container.

◆ begin_xref()

void Art::Paperback::Carousel::Writer::begin_xref ( )

Begin a new cross-reference table.

◆ begin_xref_chunk()

void Art::Paperback::Carousel::Writer::begin_xref_chunk ( Index index,
uint16_t count )

Begin a new cross-reference table chunk.

Parameters
indexThe first index of this chunk.
countThe size of this chunk.

◆ write_xref_used_entry()

void Art::Paperback::Carousel::Writer::write_xref_used_entry ( streamoff offset,
Generation generation )

Write a used entry.

Parameters
offsetThe offset of the entry.
generationThe generation of the entry.

◆ write_xref_free_entry()

void Art::Paperback::Carousel::Writer::write_xref_free_entry ( Index next,
Generation generation )

Write a free entry.

Parameters
nextThe index of the next entry.
generationThe next generation number of the entry.

◆ write_trailer()

void Art::Paperback::Carousel::Writer::write_trailer ( Dictionary const & dictionary)

Write a COS-file trailer.

Parameters
dictionaryThe trailer dictionary.

◆ write_eof()

void Art::Paperback::Carousel::Writer::write_eof ( streamoff xref_offset)

Write an EOF marker.

Parameters
xref_offsetThe offset of the cross-reference table.

◆ emit_reference()

void Art::Paperback::Carousel::Writer::emit_reference ( Identity const & identity)
private

Emit a reference to an indirect object.

Parameters
indexThe object reference index.
generationThe object reference generation.

◆ emit() [1/8]

void Art::Paperback::Carousel::Writer::emit ( Undefined const & )
private

Emit undefined.

◆ emit() [2/8]

void Art::Paperback::Carousel::Writer::emit ( Boolean const & boolean)
private

Emit a boolean object.

Parameters
booleanThe boolean to write.

◆ emit() [3/8]

void Art::Paperback::Carousel::Writer::emit ( Integer const & integer)
private

Emit an integer object.

Parameters
integerThe integer to write.

◆ emit() [4/8]

void Art::Paperback::Carousel::Writer::emit ( Real const & real)
private

Emit a real object.

Parameters
realThe real to write.

◆ emit() [5/8]

void Art::Paperback::Carousel::Writer::emit ( Text const & text)
private

Emit a text object.

Parameters
textThe text to write.

◆ emit() [6/8]

void Art::Paperback::Carousel::Writer::emit ( Name const & name)
private

Emit a name object.

◆ emit() [7/8]

void Art::Paperback::Carousel::Writer::emit ( Array const & array)
private

Emit an array object.

◆ emit() [8/8]

void Art::Paperback::Carousel::Writer::emit ( Dictionary const & dictionary)
private

Emit a dictionary object.

◆ dispatch_emit() [1/2]

void Art::Paperback::Carousel::Writer::dispatch_emit ( Object const & object)
private

Dispatch the emission of an object.

◆ dispatch_emit() [2/2]

void Art::Paperback::Carousel::Writer::dispatch_emit ( Object_model::Container_base const & container)
private

Dispatch the emission of an object.

◆ new_line()

void Art::Paperback::Carousel::Writer::new_line ( )
private

Write a new line marker.