Boost logo

Boost :

Subject: Re: [boost] [Review] Boost.Type Traits Extension by Frederic Bron
From: Frédéric Bron (frederic.bron_at_[hidden])
Date: 2011-03-19 05:31:23


> Could you make the same analysis with "const, volatile and references"

I must answer in html. cv qualifiers work just fine.
In the implementation, I have removed the reference qualifier from the
analysis when I added the +=, -=, ... operators because they require
lvalue as left hand side parameter (so I first remove the & if it exists
and then I add it to make sure I have an lvalue).
This makes <cv A> and <cv A&> behave the same. I am checking if I can
handle this better.

        operator+(A) operator+(const A) operator+(volatile A)
operator+(const volatile A) operator+(A&) operator+(const A&)
operator+(volatile A&) operator+(const volatile A&)
has_operator_unary_plus<A> true true true true true true true true
has_operator_unary_plus<const A> true true true true false true
false true
has_operator_unary_plus<volatile A> true true true true false
false true true
has_operator_unary_plus<const volatile A> true true true true
false false false true
has_operator_unary_plus<A&> true true true true true true true true
has_operator_unary_plus<const A&> true true true true false true
false true
has_operator_unary_plus<volatile A&> true true true true false
false true true
has_operator_unary_plus<const volatile A&> true true true true
false false false true

Frédéric


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