|
Boost : |
From: Tom Brinkman (reportbase_at_[hidden])
Date: 2006-11-12 12:30:31
The Function Types library min-review is extended five more days to
to November 17, 2006.
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.
Help improve this library even further by giving the
author some additional feedback.
This library was reviewed last year, the link to the review manager
comments at that time are here:
http://lists.boost.org/boost-announce/2005/06/0066.php
Author
------------------------------
Tobias Schwinger
tschwinger AT neoscientists DOT org
Download
-------------------------------------------
<http://tinyurl.com/qaf5f>http://boost-consulting.com/vault/index.php?&direction=0&order=&directory=Template%20Metaprogramming
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,
Tom Brinkman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk