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

more::lang::cx_lambda Class Reference

A lambda expression used as the definiens of a function definition. More...

#include <more/lang/cx_expr.h>

Inheritance diagram for more::lang::cx_lambda:

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

Collaboration graph
[legend]
List of all members.

Public Types

Public Methods


Detailed Description

A lambda expression used as the definiens of a function definition.


Member Typedef Documentation

typedef cx_identifier const* const* more::lang::cx_lambda::arg_const_iterator
 

Iterator over the range of arguments.

typedef cx_identifier** more::lang::cx_lambda::arg_iterator
 


Constructor & Destructor Documentation

more::lang::cx_lambda::cx_lambda ct_proto const *    proto,
identifier    self
 

Create a named function with the given prototype.

more::lang::cx_lambda::cx_lambda ct_proto const *    proto
 

Create an anonymous function with the give prototype.


Member Function Documentation

virtual void more::lang::cx_lambda::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_lambda::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.

cx_identifier* more::lang::cx_lambda::arg size_t    i
 

Return the expression of argument number i, counting from 0.

arg_iterator more::lang::cx_lambda::arg_begin   [inline]
 

arg_const_iterator more::lang::cx_lambda::arg_begin   const [inline]
 

Return the lower bound of the argument range.

size_t more::lang::cx_lambda::arg_count   const [inline]
 

Return the number of formal arguments.

arg_iterator more::lang::cx_lambda::arg_end   [inline]
 

arg_const_iterator more::lang::cx_lambda::arg_end   const [inline]
 

Return the upper bound of the argument range.

cx_block const* more::lang::cx_lambda::body   const [inline]
 

Return the block of the function body.

cx_block* more::lang::cx_lambda::body   [inline]
 

Return a block on which to append the statements of the function body.

virtual void more::lang::cx_lambda::print_as_expr std::ostream &    os const [virtual]
 

Print the C source code of this expression.

The default implementation thows a logic error. This function may be overloaded to extend the backend, otherwise it may be easier to transform the source code.

Reimplemented from more::lang::cx_expr.

ct_proto const* more::lang::cx_lambda::type_of   const [inline]
 

Return the prototype of the function.

Reimplemented from more::lang::cx_expr.


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