lestes::lang::cplus::sem::ss_constructor_finder Class Reference

Finds a proper constructor (set) for a given class. More...

#include <ss_finders.g.hh>

Inheritance diagram for lestes::lang::cplus::sem::ss_constructor_finder:

lestes::std::object lestes::std::mem::keystone lestes::lang::cplus::sem::ss_constructor_find List of all members.

Public Member Functions

virtual ptr< ss_function_declarationfind_copy_constructor (ptr< ss_struct_base >) override
virtual ptr< ss_function_declarationfind_default_constructor (ptr< ss_struct_base >) override
virtual set< ptr< ss_function_declaration > > find_converting_constructors (ptr< ss_struct_base >) override
virtual set< ptr< ss_function_declaration > > find_constructors (ptr< ss_struct_base >) override
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< ss_constructor_findersingleton_instance_get ()
 The method singleton_instance_get returns the value of the field ss_constructor_finder::singleton_instance.
static void singleton_instance_set (const ptr< ss_constructor_finder > &)
 The method singleton_instance_set sets the field ss_constructor_finder::singleton_instance to the given value.
static ptr< ss_constructor_finderinstance ()

Protected Member Functions

 ss_constructor_finder ()
 Generated constructor for class ss_constructor_finder.
virtual void gc_mark ()
 Marking routine for class ss_constructor_finder.

Static Private Attributes

static ptr< ss_constructor_findersingleton_instance = NULL
static ptr< reflection_listreflection = reflection

Detailed Description

Finds a proper constructor (set) for a given class.

Definition at line 31 of file ss_finders.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_constructor_finder::ss_constructor_finder (  )  [protected]

Generated constructor for class ss_constructor_finder.

Generated constructor for class ss_constructor_finder.

Author:
lsg

Definition at line 41 of file ss_finders.g.cc.

00042         : object()
00043 {}


Member Function Documentation

ptr< ss_constructor_finder > lestes::lang::cplus::sem::ss_constructor_finder::singleton_instance_get (  )  [static]

The method singleton_instance_get returns the value of the field ss_constructor_finder::singleton_instance.

Returns:
The value of ss_constructor_finder::singleton_instance.
Author:
lsg

Definition at line 23 of file ss_finders.g.cc.

References singleton_instance.

Referenced by instance().

00024 {
00025         return singleton_instance;
00026 }

void lestes::lang::cplus::sem::ss_constructor_finder::singleton_instance_set ( const ptr< ss_constructor_finder > &  x  )  [static]

The method singleton_instance_set sets the field ss_constructor_finder::singleton_instance to the given value.

Parameters:
[in] x The new value to set ss_constructor_finder::singleton_instance to.
Author:
lsg

Definition at line 32 of file ss_finders.g.cc.

References singleton_instance.

Referenced by instance().

00033 {
00034         ss_constructor_finder::singleton_instance = x;
00035 }

ptr< ss_constructor_finder > lestes::lang::cplus::sem::ss_constructor_finder::instance (  )  [static]

Definition at line 36 of file ss_finders.cc.

References lestes::lang::cplus::sem::ss_constructor_find::create(), singleton_instance_get(), and singleton_instance_set().

00036                                                            {
00037         if ( !singleton_instance_get() ) {
00038                 singleton_instance_set(ss_constructor_find::create());
00039         }
00040         return singleton_instance_get();
00041 }

virtual ptr< ss_function_declaration > lestes::lang::cplus::sem::ss_constructor_finder::find_copy_constructor ( ptr< ss_struct_base  )  [pure virtual]

Implemented in lestes::lang::cplus::sem::ss_constructor_find.

virtual ptr< ss_function_declaration > lestes::lang::cplus::sem::ss_constructor_finder::find_default_constructor ( ptr< ss_struct_base  )  [pure virtual]

Implemented in lestes::lang::cplus::sem::ss_constructor_find.

virtual set< ptr < ss_function_declaration > > lestes::lang::cplus::sem::ss_constructor_finder::find_converting_constructors ( ptr< ss_struct_base  )  [pure virtual]

Implemented in lestes::lang::cplus::sem::ss_constructor_find.

virtual set< ptr < ss_function_declaration > > lestes::lang::cplus::sem::ss_constructor_finder::find_constructors ( ptr< ss_struct_base  )  [pure virtual]

Implemented in lestes::lang::cplus::sem::ss_constructor_find.

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_constructor_finder::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::lang::cplus::sem::ss_constructor_find.

Definition at line 45 of file ss_finders.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().

Referenced by lestes::lang::cplus::sem::ss_constructor_find::reflection_get().

00046 {
00047         if (!reflection) {
00048                 typedef class_reflection::field_metadata md;
00049                 typedef class_reflection::field_metadata_list mdlist;
00050                 ptr<mdlist> mdl = mdlist::create();
00051                 mdl->push_back( md::create( "singleton_instance", "ss_constructor_finder" ) );
00052                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00053                 reflection->push_back( class_reflection::create( "ss_constructor_finder", mdl ) );
00054         }
00055         return reflection;
00056 }

ptr< object::field_list_list > lestes::lang::cplus::sem::ss_constructor_finder::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::lang::cplus::sem::ss_constructor_find.

Definition at line 58 of file ss_finders.g.cc.

References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().

Referenced by lestes::lang::cplus::sem::ss_constructor_find::field_values_get().

00059 {
00060         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00061         result->push_back( value_list::create() );
00062         result->back()->push_back( this->singleton_instance );
00063         return result;
00064 }

void lestes::lang::cplus::sem::ss_constructor_finder::gc_mark ( void   )  [protected, virtual]

Marking routine for class ss_constructor_finder.

Marking routine is used for garbage collection.

Author:
lsg

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

Reimplemented in lestes::lang::cplus::sem::ss_constructor_find.

Definition at line 71 of file ss_finders.g.cc.

References lestes::std::mem::keystone::gc_mark().

Referenced by lestes::lang::cplus::sem::ss_constructor_find::gc_mark().

00072 {
00073 	::lestes::std::object::gc_mark();
00074 }


Member Data Documentation

ptr< ss_constructor_finder > lestes::lang::cplus::sem::ss_constructor_finder::singleton_instance = NULL [static, private]

Definition at line 65 of file ss_finders.g.hh.

Referenced by singleton_instance_get(), and singleton_instance_set().

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_constructor_finder::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::lang::cplus::sem::ss_constructor_find.

Definition at line 66 of file ss_finders.g.hh.

Referenced by reflection_get().


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