#include <reflect.hh>
Inheritance diagram for lestes::std::class_reflection:

Public Types | |
| typedef pair< lstring, lstring > | field_metadata |
| typedef list< srp< field_metadata > > | field_metadata_list |
Public Member Functions | |
| lstring | name_get () const |
| ptr< field_metadata_list > | field_metadata_get () |
| returns *a copy* of the field list | |
Static Public Member Functions | |
| static ptr< class_reflection > | create (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_list > | metadata |
Definition at line 46 of file reflect.hh.
Definition at line 48 of file reflect.hh.
Definition at line 49 of file reflect.hh.
| lestes::std::class_reflection::class_reflection | ( | lstring | a_name, | |
| ptr< field_metadata_list > | a_metadata | |||
| ) | [protected] |
| 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.
Definition at line 38 of file reflect.cc.
References lestes::std::mem::keystone::gc_mark(), lestes::std::mem::simple_pointer::gc_mark(), and metadata.
00039 { 00040 metadata.gc_mark(); 00041 object::gc_mark(); 00042 }
| lstring lestes::std::class_reflection::name_get | ( | void | ) | const [inline] |
| ptr< class_reflection::field_metadata_list > lestes::std::class_reflection::field_metadata_get | ( | ) |
returns *a copy* of the field list
Definition at line 44 of file reflect.cc.
References metadata.
00045 { 00046 //FIXME: 00047 // return field_metadata_list::create(metadata); 00048 return metadata; 00049 }
| ptr< class_reflection > lestes::std::class_reflection::create | ( | lstring | a_name, | |
| ptr< field_metadata_list > | a_metadata | |||
| ) | [static] |
Definition at line 51 of file reflect.cc.
References class_reflection().
Referenced by lestes::std::collection_refl::list_simple_init(), lestes::std::collection_refl::list_srp_init(), lestes::std::collection_refl::map_simple_simple_init(), lestes::std::collection_refl::map_simple_srp_init(), lestes::std::collection_refl::map_srp_simple_init(), lestes::std::collection_refl::map_srp_srp_init(), lestes::std::collection_refl::pair_simple_simple_init(), lestes::std::collection_refl::pair_simple_srp_init(), lestes::std::collection_refl::pair_srp_simple_init(), lestes::std::collection_refl::pair_srp_srp_init(), lestes::std::stack< T, Container >::reflection_get(), lestes::std::source_location::reflection_get(), lestes::std::multi_action::reflection_get(), lestes::std::collection_refl::set_simple_init(), lestes::std::collection_refl::set_srp_init(), lestes::std::collection_refl::vector_simple_init(), and lestes::std::collection_refl::vector_srp_init().
00052 { 00053 return new class_reflection( a_name, a_metadata ); 00054 }
const lstring lestes::std::class_reflection::name [private] |
Definition at line 52 of file reflect.hh.
1.5.1-20070107