lestes::std::dumper Class Reference

#include <dumper.hh>

Inheritance diagram for lestes::std::dumper:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void visit_object (ptr< object > o)
virtual void visit_nodump ()
virtual void visit_lint (lint)
virtual void visit_ulint (ulint)
virtual void visit_bool (bool)
virtual void visit_lstring (const lstring &)
virtual void visit_ucn_string (const ucn_string &)

Static Public Member Functions

::std::ostream & dump (::std::ostream &output_to, ptr< object > start_at, bool respect_barriers=true)
 Dumps every instance reachable from start_at to given ostream. Returns given ostream.

Protected Member Functions

void gc_mark ()
 Marks the keystone.
 dumper (::std::ostream &a_stream, bool a_respect_barriers)
void the_dump (ptr< object > start_at)
 Does the actual dumping. Has got to be a non-static method, as we are a visitor :).

Private Types

typedef list< srp< object > > queue_type
typedef set< srp< object > > set_type

Private Member Functions

void try_enqueue (ptr< object > o, ptr< queue_type > queue, ptr< set_type > visited)
 enqueues o into queue, iff o was not yet visited

Private Attributes

bool was_simple
 return value from visit_XXX; null for simple_type visits
::std::ostream & stream
const bool respect_barriers
 should the dumper respect barriers (see object::dump_barrier)

Member Typedef Documentation

typedef list< srp<object> > lestes::std::dumper::queue_type [private]

typedef set< srp<object> > lestes::std::dumper::set_type [private]


Constructor & Destructor Documentation

lestes::std::dumper::dumper ( ::std::ostream &  a_stream,
bool  a_respect_barriers 
) [protected]


Member Function Documentation

std::ostream & lestes::std::dumper::dump ( ::std::ostream &  output_to,
ptr< object start_at,
bool  respect_barriers = true 
) [static]

Dumps every instance reachable from start_at to given ostream. Returns given ostream.

void lestes::std::dumper::visit_object ( ptr< object o  )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::visit_nodump (  )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::visit_lint ( lint   )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::visit_ulint ( ulint   )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::visit_bool ( bool   )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::visit_lstring ( const lstring  )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::visit_ucn_string ( const ucn_string  )  [virtual]

Implements lestes::std::dumper_visitor.

void lestes::std::dumper::try_enqueue ( ptr< object o,
ptr< queue_type queue,
ptr< set_type visited 
) [private]

enqueues o into queue, iff o was not yet visited

void lestes::std::dumper::gc_mark ( void   )  [protected, virtual]

Marks the keystone.

Marks all directly reachable parts of the class. The method must be overriden for each inherited class. It should contain abc.gc_mark() for each field abc of the inherited class and call to gc_mark() of the direct ancestor of the class. Does nothing for keystone, only stops processing of ancestors.

Reimplemented from lestes::std::mem::keystone.

void lestes::std::dumper::the_dump ( ptr< object start_at  )  [protected]

Does the actual dumping. Has got to be a non-static method, as we are a visitor :).


Member Data Documentation

bool lestes::std::dumper::was_simple [private]

return value from visit_XXX; null for simple_type visits

::std::ostream& lestes::std::dumper::stream [private]

const bool lestes::std::dumper::respect_barriers [private]

should the dumper respect barriers (see object::dump_barrier)


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:49:46 2007 for lestes by doxygen 1.5.1-20070107