lestes::std::class_reflection Class Reference

#include <reflect.hh>

Inheritance diagram for lestes::std::class_reflection:

Inheritance graph
List of all members.

Public Types

typedef pair< lstring, lstringfield_metadata
typedef list< srp< field_metadata > > field_metadata_list

Public Member Functions

lstring name_get () const
ptr< field_metadata_listfield_metadata_get ()
 returns *a copy* of the field list

Static Public Member Functions

static ptr< class_reflectioncreate (lstring a_name, ptr< field_metadata_list > a_metadata)

Protected Member Functions

 class_reflection (lstring a_name, ptr< field_metadata_list > a_metadata)
void gc_mark ()
 Marks the keystone.

Private Attributes

const lstring name
srp< field_metadata_listmetadata

Member Typedef Documentation

typedef pair<lstring,lstring> lestes::std::class_reflection::field_metadata

typedef list< srp<field_metadata> > lestes::std::class_reflection::field_metadata_list

Constructor & Destructor Documentation

lestes::std::class_reflection::class_reflection ( lstring  a_name,
ptr< field_metadata_list a_metadata 
) [protected]

Member Function Documentation

void lestes::std::class_reflection::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.

lstring lestes::std::class_reflection::name_get (  )  const [inline]

ptr< class_reflection::field_metadata_list > lestes::std::class_reflection::field_metadata_get (  ) 

returns *a copy* of the field list

ptr< class_reflection > lestes::std::class_reflection::create ( lstring  a_name,
ptr< field_metadata_list a_metadata 
) [static]

Member Data Documentation

const lstring lestes::std::class_reflection::name [private]

srp<field_metadata_list> lestes::std::class_reflection::metadata [private]

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