[typeof] Duplicate definition of boost::type_of::push_back
Hi,
I'm testing with BOOST_TYPEOF_LIMIT_SIZE greater than 50 and native typeof
disabled. I get a "class template has already been defined" error on
"template
Sorry, I somehow missed this post... I will take a look.
Regards,
Arkadiy
"Dave Jenkins"
Hi, I'm testing with BOOST_TYPEOF_LIMIT_SIZE greater than 50 and native typeof disabled. I get a "class template has already been defined" error on "template
struct push_back" whenever BOOST_TYPEOF_LIMIT_SIZE is *not* a multiple of 50. This is because push_back is defined in both "typeof/vector.hpp" and, for example, "typeof/vector50.hpp". My fix is to change the push_back definition in "typeof/vector.hpp" to:
# if BOOST_TYPEOF_LIMIT_SIZE < 50 template
struct push_back { typedef V type; }; # endif Can someone please confirm that this is the correct fix? A tiny program demonstrating the problem is listed below. Thanks, Dave Jenkins
#define BOOST_TYPEOF_COMPLIANT #define BOOST_TYPEOF_LIMIT_SIZE 51 #include
int main(){ return 0; }
participants (2)
-
Arkadiy Vertleyb
-
Dave Jenkins