Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2000-06-09 20:07:09


Hi John,

I find two things missing from the call_traits docs:

1. What exactly do you get on compilers that don't support partial
specialization? Are there restrictions on how you may use call_traits in
that context which don't apply on more capable compilers? E.g., does "If T
is a reference type, then call_traits is defined such that references to
references do not occur. " apply?

2. The following section is just really hard to read. It would be much
easier to look at in table form, I think:
For all types the following conditions hold:

call_traits<T>::value_type is copy-constructable from types: T,
call_traits<T>::value_type, call_traits<T>::reference, and
call_traits<T>::param_type.

call_traits<T>::reference is copy-constructable from types: T,
call_traits<T>::value_type, and call_traits<T>::reference.

call_traits<T>::const_reference is copy constructable from types: T,
call_traits<T>::value_type, call_traits<T>::reference,
call_traits<T>::const_reference, and call_traits<T>::param_type.

call_traits<T>::param_type is copy-constructable from types: T,
call_traits<T>::value_type, call_traits<T>::reference, and
call_traits<T>::const_reference.

If T is an assignable type then the following conditions also hold:

call_traits<T>::value_type is assignable from types: T,
call_traits<T>::value_type, call_traits<T>::reference,
call_traits<T>::const_reference, and call_traits<T>::param_type.

-Dave


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