|
Boost : |
From: Alisdair Meredith (alisdair.meredith_at_[hidden])
Date: 2005-06-13 07:43:24
Sorry if this duplicates any previous comments, but you get my
perspective raw from the documentation, rather than following other
reviews <g>
I suspect I will only be able to reveiw the documentation as our
production compiler is Borland, which I don't beleive is intended as a
supported compiler.
I find the motivation compelling enough to investigate the library, but
wonder what to do about callable types that are not function types? Do
we need a Callable Types library on top of function types?
In partial answer to my own question, it is worth noting that a
function pointer and a struct-with-overloaded-function-call-operator
are VERY different beasts anyway - for instance only the struct type
can be portably cast to void *, struct types may overload mulitple
calling signatures, etc.
Tag types:
The list of tag types includes all variation of function and function
pointer, but nothing for function references. Is this intentional?
Given const and volatile are effectively independant dimensions, it
would be nice for the tags not to require a specific ordering (i.e.
const_volatile) However, apart from providing a redundant
volatile_const set of typedef I have no better answer. This only
starts to become a problem is the const/volatile set is expanded in a
future C++ standard, so can safely be ignored for now <g>
As I read on I can't help but notice the similarity with type_traits,
but don't see any cross-reference in the docs. In particular, I'm
wondering if the interfaces differ in any way, and whether the ultimate
plan would be to submit function_types as an expansion to type_traits
for library TR2?
OK, that's the end of lunch-break, will try to take a deeper look this
evening.
AlisdairM
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk