Boost logo

Boost :

From: Tom Brinkman (reportbase_at_[hidden])
Date: 2006-11-04 15:54:10


The function-types "fast track" review begins monday,
November 6, 2006.

Author
-------------------------------------------

Tobias Schwinger
tschwinger AT neoscientists DOT org

Download
-------------------------------------------
http://tinyurl.com/qaf5f

Introduction
--------------------------------------------

Boost.FunctionTypes provides functionality to classify,
decompose and synthesize function, function pointer,
function reference and pointer to member function types.

In other words, the library can be used to:

- test whether a type is a specific callable builtin type,
- extract all component properties from
    callable builtin types, and
- create callable builtin types from specified properties.

The library is designed to work well with other Boost
libraries and uses well-accepted concepts introduced
by Boost and TR1.

Templates that encapsulate boolean or numeric properties
define a static member constant called value.

Examples
----------------------------------------------

is_function_pointer< bool(*)(int) >::value // == true
function_arity< bool(*)(int) >::value // == 1

Templates that encapsulate properties that are single
types contain a type member called type.

function_type< mpl::vector<bool,int> >::type // is bool(int)
result_type< bool(&)(int) >::type // is int

Templates that encapsulate properties that are type
lists model an MPL-compatible type sequence.

parameter_types< bool(int) > // models an MPL sequence

Whats New
-------------------------------------------------------------------
(from the last "official" version)

- The interface,
- the documentation,
- the test-suite,
- carefully picked and inline-documented
    source code examples,
- code generator for preprocessed files is
    entirely written on top of Wave,
- preprocessed files and the configuration
    (up to a certain extent) are compiler-agnostic,
- preprocessed files do not have to be
    regenerated for custom configurations,
    unless for optimization (and changing the
    library code, of course), and
- library is default calling convention-agnostic, OIW the
    default calling convention can be
    changed and detected without
    changing the library's configuration
    (unless for MSVC<8 due to the
    lack of a 'thiscall' keyword)

Review Manager Comments
-----------------------------------------------------

The convention is for this type of review to take at
least 5 days. Of course, I'll extend it futher if there are
going to be some late reviews, so let me know what you
think your time frame is for submiting a review.
I'll wait for you. The library was reviewed last year and
has been modified to meet the
concerns that were raised at that time.

The previous review manager felt that another full-review
was not necessary, but a shortended fast-track
review was needed to address the following concerns:

1) improved docuentation is needed
2) lack of a motivating example
3) better examples in general
4) improved test-suite

Please take another look at this library and express
your views as to whether you think that the library is now
ready for inclusion into boost. The usual critera applies.
Thanks to the library author for his submission.
Thanks in advance to the reviewers for submitting their
reviews. Your opinions matter. Help improve this library
even further by giving the author some additional
feeback.

Review Manager,
Tom Brinkman


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