Aegis  4.25.D505
Data Structures | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
introspector_enumeration Class Reference

#include <enumeration.h>

Inheritance diagram for introspector_enumeration:
introspector

Data Structures

class  adapter
class  adapter_by_method
class  adapter_by_reference

Public Member Functions

virtual ~introspector_enumeration ()

Static Public Member Functions

static void report_init (const char **names, size_t len)

Protected Member Functions

 introspector_enumeration (const nstring &name, const adapter::pointer &how)
void enumeration (const nstring &name)
nstring get_name () const
 introspector_enumeration ()
void register_tags (const char **names, size_t size)

Private Member Functions

 introspector_enumeration (const introspector_enumeration &)
introspector_enumerationoperator= (const introspector_enumeration &)

Private Attributes

nstring name
const adapter::pointerhow
symtab< int > members

Detailed Description

The introspector_enumeration class is used to represent the manipulations required to manage enumerations by the meta-data parser.

Definition at line 31 of file enumeration.h.


Constructor & Destructor Documentation

The destructor.

introspector_enumeration::introspector_enumeration ( const nstring name,
const adapter::pointer how 
) [protected]

The constructor. May only be called by derived classes.

Parameters:
nameThe name of the enumerated type.
howThe indirection required to cast an integer and assign it to the managed value.

The default constructor.

The copy constructor. Do not use.


Member Function Documentation

void introspector_enumeration::enumeration ( const nstring name) [protected, virtual]

The enumeration method is called when the parser sees a name in an enumeration tag place.

Parameters:
nameThe name of the enumerand.

Reimplemented from introspector.

nstring introspector_enumeration::get_name ( ) const [protected, virtual]

The get_name mathod is used to get the name of the type of value the introspector is managing. Used in error messages.

Implements introspector.

introspector_enumeration& introspector_enumeration::operator= ( const introspector_enumeration ) [private]

The assignment operator. Do not use.

void introspector_enumeration::register_tags ( const char **  names,
size_t  size 
) [protected]

The register_tags method is used by derived classes to enumerate the names and values of the declared enumeration tags.

Parameters:
namesThe base of an array of enumeration tag names.
sizeThe number of names in the array.
static void introspector_enumeration::report_init ( const char **  names,
size_t  len 
) [static]

The report_init method is used to initialize enumeration values in the report generator.

Parameters:
namesan array of names to be instantiated, values implied by zero-based array index
lenthe length of the array

Field Documentation

The how instance variable is ued to remember where to put the value, once parsed.

Definition at line 208 of file enumeration.h.

The members instance variable is used to remember the mapping from enumeration tag name to integer value.

Definition at line 214 of file enumeration.h.

The name instance variable is sued to remember the name of the enumerated type, for better error messages.

Definition at line 202 of file enumeration.h.


The documentation for this class was generated from the following file: