[dynamic overload] proof of concept implementation - new version available

I uploaded to boost vault a new version of my implementation of Boost.Overload: /overload-mrcec/overload-0.2.1.zip , link: http://tinyurl.com/37647m Boost Overload behaves as an overloaded Boost Function. Actually it wraps multiple Boost Function objects of different signatures. What's new: I only fixed some issue after testing the code on more compilers. This is the current status: compiler OS test ------------------------------------------- gcc 4.1.2 under Linux pass intel 9.1 under Linux pass mingw 3.4.2 under Windows pass mingw 3.2.3 under Windows fail MS VC++ 8.0 under Windows pass MS VC++ 7.1 under Windows fail I arranged this and previous version in boost vault in a specific folder: /overload-mrcec You find a description of each version in the file README_FIRST.TXT, link: http://tinyurl.com/32hv3p You can read a preliminary introduction to boost overload here: http://tinyurl.com/3xtbyl The documentation has been kindly written down by Dean Michael Berris. You can read an informal tutorial here: http://docs.google.com/Doc?id=dfxvjncs_1x6456m Please report any bug, compiler issue, comment and suggestion. They are really appreciated. Regards, Marco Cecchetti -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

On 10/19/07, Marco <mrcekets@gmail.com> wrote:
I uploaded to boost vault a new version of my implementation of Boost.Overload: /overload-mrcec/overload-0.2.1.zip , link: http://tinyurl.com/37647m
Does not compile for me: bash-3.2$ gcc --version gcc (GCC) 4.2.2 20070909 (prerelease) (4.2.2-0.RC.1mdv2008.0) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. bash-3.2$ g++ -O2 -Iboost_dir -o test test.cpp In file included from boost/overload/detail/trait_by_functor.hpp:13, from boost/overload/overload_impl.hpp:15, from boost/overload/overload.hpp:18, from test.cpp:11: boost/overload/detail/functor_has_signature.hpp:72: error: 'boost::detail::function::stateless_function_obj_tag' has not been declared boost/overload/detail/functor_has_signature.hpp:117: error: 'stateless_function_obj_tag' was not declared in this scope boost/overload/detail/functor_has_signature.hpp:117: error: template argument 3 is invalid Marco

On Sat, 20 Oct 2007 12:52:06 +0200, Marco Costalba <mcostalba@gmail.com> wrote:
On 10/19/07, Marco <mrcekets@gmail.com> wrote:
I uploaded to boost vault a new version of my implementation of Boost.Overload: /overload-mrcec/overload-0.2.1.zip , link: http://tinyurl.com/37647m
Does not compile for me:
bash-3.2$ gcc --version gcc (GCC) 4.2.2 20070909 (prerelease) (4.2.2-0.RC.1mdv2008.0) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
bash-3.2$ g++ -O2 -Iboost_dir -o test test.cpp In file included from boost/overload/detail/trait_by_functor.hpp:13, from boost/overload/overload_impl.hpp:15, from boost/overload/overload.hpp:18, from test.cpp:11: boost/overload/detail/functor_has_signature.hpp:72: error: 'boost::detail::function::stateless_function_obj_tag' has not been declared boost/overload/detail/functor_has_signature.hpp:117: error: 'stateless_function_obj_tag' was not declared in this scope boost/overload/detail/functor_has_signature.hpp:117: error: template argument 3 is invalid
Marco
Ehm, ehm .. I tested it with boost 1.33.1 only, I apologize for the problem. I extracted from function_base.hpp the few lines of code I exploit, and I put them in its own source file. So now boost overload hasn't any dipendency from boost function implementation details any more. I'm going to upload to boost vault the new version: /overload-mcec/overload-0.2.2.zip I tested boost overload with both boost 1.33.1 and 1.34.1 using the following compiler: compiler OS test ------------------------------------------- gcc 4.1.2 under Linux pass intel 9.1 under Linux pass mingw 3.4.2 under Windows pass mingw 3.2.3 under Windows fail MS VC++ 8.0 under Windows pass MS VC++ 7.1 under Windows fail Marco thanks to have pointed out this issue. Kind Regards, Marco Cecchetti -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
participants (2)
-
Marco
-
Marco Costalba