lestes::lang::cplus::sem::ss_member_pointer Class Reference

Class for member pointer (8.3.3). More...

#include <ss_type.g.hh>

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

lestes::lang::cplus::sem::ss_type lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

ptr< ss_typebase_get () const
 The method base_get returns the value of the field ss_member_pointer::base.
void base_set (const ptr< ss_type > &)
 The method base_set sets the field ss_member_pointer::base to the given value.
ptr< ss_typeitem_get () const
 The method item_get returns the value of the field ss_member_pointer::item.
void item_set (const ptr< ss_type > &)
 The method item_set sets the field ss_member_pointer::item to the given value.
virtual ptr< ::lestes::std::list<
srp< or_ics_functional > > > 
accept_or_ics_base (ptr< or_ics_base > v)
virtual or_cv_enum accept_or_ics_base_cv (ptr< or_ics_base_cv > v)
virtual ptr< ::lestes::md::types::tm_data_type_baseaccept_ss_type2tm_type_gen_base (ptr< ss_type2tm_type_gen_base > v)
virtual void accept_ss_type_visitor (ptr< ss_type_visitor > v)
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_typeinstance (ptr< ss_type > base_type, ptr< ss_type > element_type)
 get the instance representing array of the argument type
static ptr< ss_member_pointercreate (ptr< ss_type > a__ss_member_pointer__base, ptr< ss_type > a__ss_member_pointer__item)
 First generated factory method for class ss_member_pointer.

Protected Member Functions

 ss_member_pointer (ptr< ss_type > a__ss_member_pointer__base, ptr< ss_type > a__ss_member_pointer__item)
 Generated constructor for class ss_member_pointer.
virtual void gc_mark ()
 Marking routine for class ss_member_pointer.

Private Attributes

srp< ss_typebase
srp< ss_typeitem

Static Private Attributes

static ptr< ::lestes::std::map<
srp< ::lestes::std::pair<
srp< ss_type >, srp< ss_type > > >,
srp< ss_type >,::lestes::std::pair_comparator<
srp< ::lestes::std::pair<
srp< ss_type >, srp< ss_type > > > > > > 
the_instances = ::lestes::std::map< srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > >, srp< ss_type >, ::lestes::std::pair_comparator < srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > > > > ::create()
 holder for the class instances
static ptr< reflection_listreflection = reflection

Detailed Description

Class for member pointer (8.3.3).

Definition at line 637 of file ss_type.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_member_pointer::ss_member_pointer ( ptr< ss_type a__ss_member_pointer__base,
ptr< ss_type a__ss_member_pointer__item 
) [protected]

Generated constructor for class ss_member_pointer.

Generated constructor for class ss_member_pointer.

Author:
lsg

Definition at line 970 of file ss_type.g.cc.

Referenced by create().

00972         : ss_type(), base(checked(a__ss_member_pointer__base)), item(checked(a__ss_member_pointer__item))
00973 {}


Member Function Documentation

ptr< ss_type > lestes::lang::cplus::sem::ss_member_pointer::base_get (  )  const

The method base_get returns the value of the field ss_member_pointer::base.

Returns:
The value of ss_member_pointer::base.
Author:
lsg

Definition at line 903 of file ss_type.g.cc.

References base.

00904 {
00905         return base;
00906 }

void lestes::lang::cplus::sem::ss_member_pointer::base_set ( const ptr< ss_type > &  x  ) 

The method base_set sets the field ss_member_pointer::base to the given value.

Parameters:
[in] x The new value to set ss_member_pointer::base to.
Author:
lsg

Definition at line 912 of file ss_type.g.cc.

References base.

00913 {
00914         ss_member_pointer::base = x;
00915 }

ptr< ss_type > lestes::lang::cplus::sem::ss_member_pointer::item_get (  )  const

The method item_get returns the value of the field ss_member_pointer::item.

Returns:
The value of ss_member_pointer::item.
Author:
lsg

Definition at line 921 of file ss_type.g.cc.

References item.

00922 {
00923         return item;
00924 }

void lestes::lang::cplus::sem::ss_member_pointer::item_set ( const ptr< ss_type > &  x  ) 

The method item_set sets the field ss_member_pointer::item to the given value.

Parameters:
[in] x The new value to set ss_member_pointer::item to.
Author:
lsg

Definition at line 930 of file ss_type.g.cc.

References item.

00931 {
00932         ss_member_pointer::item = x;
00933 }

ptr< ss_type > lestes::lang::cplus::sem::ss_member_pointer::instance ( ptr< ss_type base_type,
ptr< ss_type element_type 
) [static]

get the instance representing array of the argument type

Returns type representing member pointer to a given type in a given base.

Precondition:
base_type != NULL

element_type != NULL

Parameters:
base_type The base type for the member pointer.
element_type The type of the element pointed to.
Returns:
The type of member pointer of the given properties.

Definition at line 348 of file ss_type.cc.

References lestes::intercode::intercode::create(), lassert, and the_instances.

00349 {
00350         the_instances->dump_barrier_set(true); // XXX: needed just once :-I
00351 
00352         lassert(base_type);
00353         lassert(element_type);
00354 
00355         ptr < pair < srp < ss_type >, srp < ss_type > > > twin = 
00356                 pair < srp < ss_type >, srp < ss_type > >::create(base_type, element_type);
00357         srp < ss_type > & result = (*the_instances)[twin];
00358 
00359         if (result)
00360                 return result;
00361         
00362         return result = ss_member_pointer::create(base_type, element_type);
00363 }

ptr<::lestes::std::list< srp< or_ics_functional > > > lestes::lang::cplus::sem::ss_member_pointer::accept_or_ics_base ( ptr< or_ics_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Definition at line 935 of file ss_type.g.cc.

00936 {
00937         return v->visit_ss_member_pointer( this );
00938 }

or_cv_enum lestes::lang::cplus::sem::ss_member_pointer::accept_or_ics_base_cv ( ptr< or_ics_base_cv v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Definition at line 940 of file ss_type.g.cc.

00941 {
00942         return v->visit_ss_member_pointer( this );
00943 }

ptr<::lestes::md::types::tm_data_type_base > lestes::lang::cplus::sem::ss_member_pointer::accept_ss_type2tm_type_gen_base ( ptr< ss_type2tm_type_gen_base v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Definition at line 945 of file ss_type.g.cc.

00946 {
00947         return v->visit_ss_member_pointer( this );
00948 }

void lestes::lang::cplus::sem::ss_member_pointer::accept_ss_type_visitor ( ptr< ss_type_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_type.

Definition at line 950 of file ss_type.g.cc.

00951 {
00952         return v->visit_ss_member_pointer( this );
00953 }

ptr< ss_member_pointer > lestes::lang::cplus::sem::ss_member_pointer::create ( ptr< ss_type a__ss_member_pointer__base,
ptr< ss_type a__ss_member_pointer__item 
) [static]

First generated factory method for class ss_member_pointer.

This factory method for class ss_member_pointer takes values of all fields as arguments.

Author:
lsg

Definition at line 959 of file ss_type.g.cc.

References ss_member_pointer().

00961 {
00962         return ptr< ss_member_pointer > ( new ss_member_pointer(a__ss_member_pointer__base,
00963                 a__ss_member_pointer__item) );
00964 }

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

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_type.

Definition at line 975 of file ss_type.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_type::reflection_get().

00976 {
00977         if (!reflection) {
00978                 typedef class_reflection::field_metadata md;
00979                 typedef class_reflection::field_metadata_list mdlist;
00980                 ptr<mdlist> mdl = mdlist::create();
00981                 mdl->push_back( md::create( "base", "ss_type" ) );
00982                 mdl->push_back( md::create( "item", "ss_type" ) );
00983                 mdl->push_back( md::create( "the_instances", "map&lt; srp &lt; ::lestes::std::pair &lt; srp &lt; ss_type &gt;, srp &lt; ss_type &gt; &gt; &gt;, srp&lt; ss_type &gt;, ::lestes::std::pair_comparator &lt; srp &lt; ::lestes::std::pair &lt; srp &lt; ss_type &gt;, srp &lt; ss_type &gt; &gt; &gt; &gt; &gt;" ) );
00984                 reflection = reflection_list::create( ss_type::reflection_get() );
00985                 reflection->push_back( class_reflection::create( "ss_member_pointer", mdl ) );
00986         }
00987         return reflection;
00988 }

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

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_type.

Definition at line 990 of file ss_type.g.cc.

References lestes::std::list< T >::create(), and lestes::lang::cplus::sem::ss_type::field_values_get().

00991 {
00992         ptr < field_list_list > result = ss_type::field_values_get();
00993         result->push_back( value_list::create() );
00994         result->back()->push_back( this->base );
00995         result->push_back( value_list::create() );
00996         result->back()->push_back( this->item );
00997         result->push_back( value_list::create() );
00998         result->back()->push_back( this->the_instances );
00999         return result;
01000 }

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

Marking routine for class ss_member_pointer.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::lang::cplus::sem::ss_type.

Definition at line 1007 of file ss_type.g.cc.

References lestes::lang::cplus::sem::ss_type::gc_mark().

01008 {
01009         ss_type::gc_mark();
01010 }


Member Data Documentation

srp< ss_type > lestes::lang::cplus::sem::ss_member_pointer::base [private]

Definition at line 681 of file ss_type.g.hh.

Referenced by base_get(), and base_set().

srp< ss_type > lestes::lang::cplus::sem::ss_member_pointer::item [private]

Definition at line 682 of file ss_type.g.hh.

Referenced by item_get(), and item_set().

ptr<::lestes::std::map< srp<::lestes::std::pair< srp< ss_type >, srp< ss_type > > >, srp< ss_type >,::lestes::std::pair_comparator< srp<::lestes::std::pair< srp< ss_type >, srp< ss_type > > > > > > lestes::lang::cplus::sem::ss_member_pointer::the_instances = ::lestes::std::map< srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > >, srp< ss_type >, ::lestes::std::pair_comparator < srp < ::lestes::std::pair < srp < ss_type >, srp < ss_type > > > > > ::create() [static, private]

holder for the class instances

Definition at line 684 of file ss_type.g.hh.

Referenced by instance().

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

Reimplemented from lestes::lang::cplus::sem::ss_type.

Definition at line 685 of file ss_type.g.hh.

Referenced by reflection_get().


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