Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-09-15 20:12:44


Rob Stewart <stewart_at_[hidden]> writes:

> From: "Neal D. Becker" <nbecker_at_[hidden]>
>>
>> This handy little item, lvalue_cast, would make a useful addition to boost. I
>> didn't write it, and I don't recall who did.
>>
>> template<class T>
>> inline T& lvalue_cast (const T& rvalue) {
>> return const_cast<T&> (rvalue);
>> }
>
> That's just a different spelling of const_cast. To make it
> useful, you need to make it more generic:
>
> template <typename T>
> inline T &
> lvalue_cast(T & value_i)
> {
> return value_i;
> }
>
> That, of course, permits you to silently cast away the const-ness
> of const lvalues.

That's news to me. AFAICT it's totally safe, but it doesn't work
with rvalues, which sort of undermines the whole thing.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

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