Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

more::lang::cx_locator Struct Reference

The locator of an object inside a compound. More...

#include <cx_locator.h>

Inheritance diagram for more::lang::cx_locator:

Inheritance graph
[legend]
Collaboration diagram for more::lang::cx_locator:

Collaboration graph
[legend]
List of all members.

Public Types

Public Methods

Protected Methods

Friends


Detailed Description

The locator of an object inside a compound.

This can be be used to runtime or to gererate C source code.


Member Typedef Documentation

typedef std::size_t more::lang::cx_locator::size_type
 


Constructor & Destructor Documentation

more::lang::cx_locator::cx_locator cx_locator *    cxt_locr,
ct_type const *    cxt_type,
ct_type const *    result_type,
size_type    offset_count
[protected]
 

Used for struct members and pointer derefs.

more::lang::cx_locator::cx_locator ct_type const *    arg0_type,
ct_type const *    result_type
[protected]
 

Partical construction used by ct_struct::member.


Member Function Documentation

virtual void more::lang::cx_locator::append_ctors_to cx_block   blk [virtual]
 

Append constructors of this expression to blk.

Reimplemented from more::lang::cx_expr.

virtual void more::lang::cx_locator::append_dtors_to cx_block   blk [virtual]
 

Append destructors of this expression to blk.

Implementations of this function shall not declare variables in blk.

Reimplemented from more::lang::cx_expr.

void* more::lang::cx_locator::apply void *    ptr
 

Apply the locator operator to ptr.

ct_type const* more::lang::cx_locator::arg0_type   const [inline]
 

The argument type of the locator.

cx_locator const* more::lang::cx_locator::context_locator   const [inline]
 

The locator of the context.

If this is a member, the context is a structure, if this is a pointer dereference, the context is a pointer, etc.

ct_type const* more::lang::cx_locator::context_type   const [inline, protected]
 

Returns the type of the context of this locator.

It is more instructive to look at the overloads provided in derived classes.

Reimplemented in more::lang::cx_member_locator, and more::lang::cx_deref_locator.

void more::lang::cx_locator::debug_dump std::ostream &    os
 

virtual void more::lang::cx_locator::print_operation_post std::ostream &    const [pure virtual]
 

Reimplemented in more::lang::cx_member_locator, and more::lang::cx_deref_locator.

virtual void more::lang::cx_locator::print_operation_pre std::ostream &    const [pure virtual]
 

Reimplemented in more::lang::cx_member_locator, and more::lang::cx_deref_locator.

ct_type const* more::lang::cx_locator::result_type   const [inline]
 

The result type of the locator.

Reimplemented in more::lang::cx_member_locator, and more::lang::cx_deref_locator.


Friends And Related Function Documentation

friend struct cx_deref_locator [friend]
 

friend struct cx_member_locator [friend]
 

bool equal cx_locator *    loc0,
cx_locator *    loc1
[friend]
 

Return true iff loc0 and loc1 are equal.

The locators are equal if, given the same argument address, they give the same address.

Precondition:
loc0->type_of() and loc1->type_of() are the same.

friend struct rt_arg_locator [friend]
 

friend struct rt_result_locator [friend]
 


The documentation for this struct was generated from the following file:
Generated on Sat Sep 7 19:12:52 2002 for more with Doxygen 1.2.13.1. Doxygen 1.2.13.1 is written and copyright 1997-2002 by Dimitri van Heesch.