|
Boost : |
Subject: [boost] [contract] static if instead of assertion requirements
From: Lorenzo Caminiti (lorcaminiti_at_[hidden])
Date: 2012-10-02 17:32:36
Hello all,
I was reading the proposal to add "static if" to C++1x and I will use
such a syntax for assertion requirements:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3329.pdf
Current syntax for assertion requirements:
postcondition(
back() == value, requires boost::has_equal<T>::value
)
Will be replaced with static if:
postcondition(
static if(boost::has_equal<T>::value) (
back() == value
) // optional else ( ... )
)
If there were interested, I could even provide a separate
BOOST_STATIC_IF(const_condition, then_code, else_code)... however,
such a macro could only be used at namespace and class scope, not a
function scope :(
--Lorenzo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk