Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

PrintSubSystem Class Reference

The print subsystem is the default printer for SUIF. More...

#include <print_subsystem.h>

Inheritance diagram for PrintSubSystem:

SubSystem List of all members.

Public Methods

 PrintSubSystem ( SuifEnv* suif_env )
virtual ~PrintSubSystem ()
virtual void print ( const LString &style, ostream& output, const ObjectWrapper &obj) const
 Most explicit print interface. More...

virtual void print ( const LString &style, ostream& output, SuifObject *obj) const
virtual String print_to_string (const LString &style, const ObjectWrapper &obj) const
virtual String print_to_string (const LString &style, SuifObject *obj) const
virtual void print (ostream& output, const ObjectWrapper &obj) const
 print with the default style to the specified stream.

virtual void print (FILE *fp, const ObjectWrapper &obj) const
virtual String print_to_string (const ObjectWrapper &obj) const
virtual void print (const ObjectWrapper &obj ) const
 Print any object that participates in the metaclass system to the default output stream with the default style.

virtual void print (SuifObject *obj) const
 Print a SuifObject to the default output stream with the default style.

virtual String print_to_string (SuifObject *obj) const
 Print a SuifObject to a string with the default style.

virtual ostream& get_default_stream () const
virtual void set_default_print_style (const LString &style)
virtual LString get_default_print_style () const
virtual PrintStringRepositoryretrieve_string_repository (const LString &style)


Detailed Description

The print subsystem is the default printer for SUIF.

When a default printer is initialized, it should set the default print style to its module name.

If no default print style has been set we use the SuifObject::print(FormattedText &) function for printing suif objects and just print an error for everything else.

The print subsystem also contains maps indexed by style of specification strings for each metaclass.


Constructor & Destructor Documentation

PrintSubSystem::PrintSubSystem ( SuifEnv * suif)

PrintSubSystem::~PrintSubSystem () [virtual]


Member Function Documentation

LString PrintSubSystem::get_default_print_style () const [virtual]

ostream & PrintSubSystem::get_default_stream () const [virtual]

void PrintSubSystem::print ( SuifObject * obj) const [inline, virtual]

Print a SuifObject to the default output stream with the default style.

void PrintSubSystem::print ( const ObjectWrapper & obj) const [inline, virtual]

Print any object that participates in the metaclass system to the default output stream with the default style.

void PrintSubSystem::print ( FILE * fp,
const ObjectWrapper & obj) const [virtual]

void PrintSubSystem::print ( ostream & output,
const ObjectWrapper & obj) const [inline, virtual]

print with the default style to the specified stream.

void PrintSubSystem::print ( const LString & style,
ostream & output,
SuifObject * obj) const [virtual]

void PrintSubSystem::print ( const LString & style,
ostream & output,
const ObjectWrapper & obj) const [inline, virtual]

Most explicit print interface.

The user chooses the "style" and the output stream The default implementation will find a module with the name "style", make sure it implements the print interface then dispatch to the print routine. The default implementation of ALL of the other print methods will ultimately use this method.

String PrintSubSystem::print_to_string ( SuifObject * obj) const [inline, virtual]

Print a SuifObject to a string with the default style.

String PrintSubSystem::print_to_string ( const ObjectWrapper & obj) const [virtual]

String PrintSubSystem::print_to_string ( const LString & style,
SuifObject * obj) const [virtual]

String PrintSubSystem::print_to_string ( const LString & style,
const ObjectWrapper & obj) const [virtual]

PrintStringRepository * PrintSubSystem::retrieve_string_repository ( const LString & style) [virtual]

void PrintSubSystem::set_default_print_style ( const LString & style) [virtual]


The documentation for this class was generated from the following files:
Generated at Mon Jul 31 13:44:22 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000