
19 Apr
2011
19 Apr
'11
10:29 p.m.
I have updated the type traits extension for operators: - new names beginning with can_call_ - simpler names for helper traits - fixed typos in documentation - dont_care as default return type; check for exact void return when Ret=void - names of template parameters now begin with a capital letter followed by lower case letters (RHS->Rhs, LHS->Lhs, RET->Ret...) - removed non ASCII characters This updated version can be downloaded by different ways: - from the sandbox (r71385): http://svn.boost.org/svn/boost/sandbox/type_traits/ - from the vault with unix line ending: http://www.boostpro.com/vault/index.php?action=downloadfile&filename=type_traits.tar.bz2&directory=Extension& - from the vault with dos line ending: http://www.boostpro.com/vault/index.php?action=downloadfile&filename=type_traits-dos.tar.bz2&directory=Extension& Headers only: - from the vault with unix line ending: http://www.boostpro.com/vault/index.php?action=downloadfile&filename=type_traits.headers_only.tar.bz2&directory=Extension& - from the vault with dos line ending: http://www.boostpro.com/vault/index.php?action=downloadfile&filename=type_traits.headers_only-dos.tar.bz2&directory=Extension& Documentation: http://svn.boost.org/svn/boost/sandbox/type_traits/libs/type_traits/doc/html/boost_typetraits/category/value_traits/operators.html (best presented in tarball). It is not finished; more to come... Frédéric PS: Please, find below the list of chosen names. I would appreciate not to start again a discussion about the good/bad of this choice. I am sure there are at least 2 persons that like it, sorry if not more... However feel free to report any typo as it is probably also in the code. # binary + can_call_addition - can_call_subtraction * can_call_multiplication / can_call_division % can_call_modulus += can_call_addition_assignment -= can_call_subtraction_assignment *= can_call_multiplication_assignment /= can_call_division_assignment %= can_call_modulus_assignment & can_call_bitwise_and | can_call_bitwise_or ^ can_call_bitwise_xor &= can_call_bitwise_and_assignment |= can_call_bitwise_or_assignment ^= can_call_bitwise_xor_assignment << can_call_left_shift >> can_call_right_shift <<= can_call_left_shift_assignment >>= can_call_right_shift_assignment == can_call_equal != can_call_not_equal < can_call_less <= can_call_less_equal > can_call_greater >= can_call_greater_equal && can_call_and || can_call_or # prefix ! can_call_not + can_call_unary_plus - can_call_unary_minus ~ can_call_complement * can_call_dereference ++ can_call_pre_increment -- can_call_pre_decrement # postfix ++ can_call_post_increment -- can_call_post_decrement