Bug in boost/graph/transitive_closure.hpp
Bug: The header file boost/graph/transitive_closure.hpp contains an unscoped call to not1(). This function is defined in both the std namespace and the boost namespace (via boost/functional.hpp). If boost/functional.hpp is included either directly or indirectly (e.g., via boost/multi_array.hpp) Then any attempted use of transitive_closure() will not compile due to the ambiguity. Solution: Scope the call to not1 in boost/graph/transitive_closure.hpp: std::not1 Note: This bug can be easily be reproduced by including boost/functional.hpp (or boost/multi_array.hpp) To the example program transitive_closure.cpp . Thanks, -TAG Todd A. Gibson
Thanks! I've committed the fix. My apologies for the delay. Doug On Feb 21, 2005, at 1:57 AM, Todd A. Gibson wrote:
Bug: The header file boost/graph/transitive_closure.hpp contains an unscoped call to not1(). This function is defined in both the std namespace and the boost namespace (via boost/functional.hpp). If boost/functional.hpp is included either directly or indirectly (e.g., via boost/multi_array.hpp) Then any attempted use of transitive_closure() will not compile due to the ambiguity.
Solution: Scope the call to not1 in boost/graph/transitive_closure.hpp: std::not1
Note: This bug can be easily be reproduced by including boost/functional.hpp (or boost/multi_array.hpp) To the example program transitive_closure.cpp .
Thanks, -TAG Todd A. Gibson _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Douglas Gregor wrote:
Thanks! I've committed the fix. My apologies for the delay.
And my apologies for not handling this issue before. But.. the reason I did not immediately replied is that I don't know how to fix that file! It's generated from transitive_closure.w and last time I asked, Jeremy said he's using some *modified* version of jweb to process the file. We need to either make the file work with standard jweb, or decide to drop the .w file. - Volodya
On Mar 14, 2005, at 10:40 AM, Vladimir Prus wrote:
Douglas Gregor wrote:
Thanks! I've committed the fix. My apologies for the delay.
And my apologies for not handling this issue before. But.. the reason I did not immediately replied is that I don't know how to fix that file! It's generated from transitive_closure.w and last time I asked, Jeremy said he's using some *modified* version of jweb to process the file. We need to either make the file work with standard jweb, or decide to drop the .w file.
It's probably best to just drop the .w file. There are other .w files that I'm sure are not current in the tree, so we can't trust them without checking their output against the actual code. I like literate programming, but without having jweb in Boost and automatically run by bjam it's more mental overhead than it's worth. Doug
participants (3)
-
Douglas Gregor
-
Todd A. Gibson
-
Vladimir Prus