lestes::lang::cplus::sem::ss_class Class Reference

Class for struct-class types. More...

#include <ss_type.g.hh>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ::lestes::std::list<
srp< ss_base_specifier > > > 
bases_get () const
 The method bases_get returns the value of the field ss_class::bases.
void bases_set (const ptr< ::lestes::std::list< srp< ss_base_specifier > > > &)
 The method bases_set sets the field ss_class::bases to the given value.
ptr< ::lestes::std::set< srp<
ss_class > > > 
descendants_get () const
 The method descendants_get returns the value of the field ss_class::descendants.
void descendants_set (const ptr< ::lestes::std::set< srp< ss_class > > > &)
 The method descendants_set sets the field ss_class::descendants to the given value.
bool is_ancestor (ptr< ss_class > descendant)
 Check whether is this class ancestor of parameter.
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_classcreate (ptr< ss_decl_seq > a__ss_struct_base__members, ptr< ss_declaration > a__ss_struct_base__decl, bool a__ss_struct_base__POD, ptr< ss_declaration_time > a__ss_struct_base__completion_time, ptr< ::lestes::std::list< srp< ss_base_specifier > > > a__ss_class__bases, ptr< ::lestes::std::set< srp< ss_class > > > a__ss_class__descendants)
 First generated factory method for class ss_class.
static ptr< ss_classcreate (ptr< ss_decl_seq > a__ss_struct_base__members, ptr< ss_declaration > a__ss_struct_base__decl, bool a__ss_struct_base__POD, ptr< ss_declaration_time > a__ss_struct_base__completion_time, ptr< ::lestes::std::list< srp< ss_base_specifier > > > a__ss_class__bases)
 Second generated factory method for class ss_class.

Protected Member Functions

 ss_class (ptr< ss_decl_seq > a__ss_struct_base__members, ptr< ss_declaration > a__ss_struct_base__decl, bool a__ss_struct_base__POD, ptr< ss_declaration_time > a__ss_struct_base__completion_time, ptr< ::lestes::std::list< srp< ss_base_specifier > > > a__ss_class__bases, ptr< ::lestes::std::set< srp< ss_class > > > a__ss_class__descendants)
 Generated constructor for class ss_class.
virtual void gc_mark ()
 Marking routine for class ss_class.

Private Attributes

srp< ::lestes::std::list<
srp< ss_base_specifier > > > 
bases
srp< ::lestes::std::set< srp<
ss_class > > > 
descendants
 Direct descendant classes of current class.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for struct-class types.

Distinction of struct-class: default visibility is resolved before. TODO struct x class POD status


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_class::ss_class ( ptr< ss_decl_seq a__ss_struct_base__members,
ptr< ss_declaration a__ss_struct_base__decl,
bool  a__ss_struct_base__POD,
ptr< ss_declaration_time a__ss_struct_base__completion_time,
ptr< ::lestes::std::list< srp< ss_base_specifier > > >  a__ss_class__bases,
ptr< ::lestes::std::set< srp< ss_class > > >  a__ss_class__descendants 
) [protected]

Generated constructor for class ss_class.

Generated constructor for class ss_class.

Author:
lsg


Member Function Documentation

ptr<::lestes::std::list< srp< ss_base_specifier > > > lestes::lang::cplus::sem::ss_class::bases_get (  )  const

The method bases_get returns the value of the field ss_class::bases.

Returns:
The value of ss_class::bases.
Author:
lsg

void lestes::lang::cplus::sem::ss_class::bases_set ( const ptr< ::lestes::std::list< srp< ss_base_specifier > > > &  x  ) 

The method bases_set sets the field ss_class::bases to the given value.

Parameters:
[in] x The new value to set ss_class::bases to.
Author:
lsg

ptr<::lestes::std::set< srp< ss_class > > > lestes::lang::cplus::sem::ss_class::descendants_get (  )  const

The method descendants_get returns the value of the field ss_class::descendants.

Returns:
The value of ss_class::descendants.
Author:
lsg

void lestes::lang::cplus::sem::ss_class::descendants_set ( const ptr< ::lestes::std::set< srp< ss_class > > > &  x  ) 

The method descendants_set sets the field ss_class::descendants to the given value.

Parameters:
[in] x The new value to set ss_class::descendants to.
Author:
lsg

bool lestes::lang::cplus::sem::ss_class::is_ancestor ( ptr< ss_class descendant  ) 

Check whether is this class ancestor of parameter.

Used in overload resolution.

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

Implements lestes::lang::cplus::sem::ss_struct_base.

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

Implements lestes::lang::cplus::sem::ss_struct_base.

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

Implements lestes::lang::cplus::sem::ss_struct_base.

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

Implements lestes::lang::cplus::sem::ss_struct_base.

ptr< ss_class > lestes::lang::cplus::sem::ss_class::create ( ptr< ss_decl_seq a__ss_struct_base__members,
ptr< ss_declaration a__ss_struct_base__decl,
bool  a__ss_struct_base__POD,
ptr< ss_declaration_time a__ss_struct_base__completion_time,
ptr< ::lestes::std::list< srp< ss_base_specifier > > >  a__ss_class__bases,
ptr< ::lestes::std::set< srp< ss_class > > >  a__ss_class__descendants 
) [static]

First generated factory method for class ss_class.

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

Author:
lsg

ptr< ss_class > lestes::lang::cplus::sem::ss_class::create ( ptr< ss_decl_seq a__ss_struct_base__members,
ptr< ss_declaration a__ss_struct_base__decl,
bool  a__ss_struct_base__POD,
ptr< ss_declaration_time a__ss_struct_base__completion_time,
ptr< ::lestes::std::list< srp< ss_base_specifier > > >  a__ss_class__bases 
) [static]

Second generated factory method for class ss_class.

This factory method for class ss_class uses initializers.

Author:
lsg

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

for purposes of dumping

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

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

for purposes of dumping

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

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

Marking routine for class ss_class.

Marking routine is used for garbage collection.

Author:
lsg

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


Member Data Documentation

srp< ::lestes::std::list< srp< ss_base_specifier > > > lestes::lang::cplus::sem::ss_class::bases [private]

Bases of the class are in the list, because ABI-structure-layout has to now order.

srp< ::lestes::std::set< srp< ss_class > > > lestes::lang::cplus::sem::ss_class::descendants [private]

Direct descendant classes of current class.

Rationale: Overload resolution needs to know descendants. (Conversions of member pointers into member pointer of derived class.[4.11/2])

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

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


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