On 02/02/2011 22:20, Frédéric Bron wrote:
Can you try the following version and tell me if it compiles fine? http://www.boostpro.com/vault/index.php?action=downloadfile&filename=type_traits-dos.tar.bz2&directory=Extension&
I have removed any call to logical operators in constant expressions and replaced them by ice constructs (not done yet for all operators but should be ok for<<). I still have to remove reference to numeric_limits which seems to be an issue with some compilers.
The #include goes fine but I still get the following error : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int With the code : BOOST_STATIC_ASSERT(( boost::has_operator_left_shift< int, int
::value ));
On 02/02/2011 20:13, Frédéric Bron wrote:
(by the way the source files are indented with tabs) I found here (http://www.boost.org/development/header.html) that indentation with space is not a requirement: "The alert reader will have noticed that the sample header employs a certain coding style for indentation, positioning braces, commenting ending braces, and similar formatting issues. These stylistic issues are viewed as personal preferences and are not part of the Boost Header Policy."
Have you seen anything else that shows this may be wrong?
Yes at http://www.boost.org/development/requirements.html#Tabs (Tabs rationale). I'm not an expert at boost guidelines however.
struct convertible_ambiguous { operator int() const; operator float() const; };
Yes I have seen that (if you look at the tests in type_traits/libs/type_traits/test, you will see that I have commented such tests. I am not sure if there is any solution for this.
I haven't been able to find any in the past and was quite curious to see if you succeeded. :) Maybe this should be written in the documentation as a limitation, though ? MAT.