Boost logo

Boost :

Subject: [boost] [lclfunction][local_function] Any interest in a redone version of local_function.
From: Mostafa (mostafa_working_away_at_[hidden])
Date: 2015-08-16 20:34:25


I've made a library called lclfunction which is basically a redone version
of local_function except for the following important differences:

1. This library allows the function name to be specified at and only at
the top of the local function
declaration.

2. This library allows local functions to maintain internal state without
referencing external
variables (via varset).

3. This library allows the use of globally scoped types as macro
parameters, i.e.,
::std::pair<..., ...>.

4. This library can handle binding array types.

5. IMHO, this library has a cleaner implementation:
   a) The preprocessor translator is partitioned into a front end and back
end.
   b) A well-defined symbol table bridges the two translation layers.
   c) It has well-defined error-generating mechanism with a separate error
pass before code
generation.

6. It uses a different syntax.

The main reason I did this redone library is because local_function
required putting the function's name in the closing macro and that rubbed
me the wrong way, my view is that it should and can be placed in the
opening macro.

If there is enough interest from the community I will "Boostify" it.

Thanks,

Mostafa


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk