|
Boost : |
Subject: [boost] [aligned storage] namespace conflict
From: Tobias Germer (tgermer_at_[hidden])
Date: 2011-03-22 06:37:58
Hi all,
while patching the interprocess library (see ticket #5230) we found a
namespace conflict in aligned_storage.hpp. The source refers to the
(local) namespace "detail::". In the context of interprocess, this could
be resolved to "boost::detail" or "boost::interprocess::detail", causing
an ambiguity. I suggest to use the absolute namespace in
aligned_storage, i.e., every "detail::" is replaced with
"::boost::detail::" (see below for the patch).
Are there any arguments against this? If nobody protests, Ion would
apply the patch.
Regards,
Tobias
Suggested patch:
Index: aligned_storage.hpp
===================================================================
--- aligned_storage.hpp (revision 70385)
+++ aligned_storage.hpp (working copy)
@@ -50,7 +50,7 @@
typename mpl::eval_if_c<
alignment_ == std::size_t(-1)
- , mpl::identity<detail::max_align>
+ , mpl::identity<::boost::detail::max_align>
, type_with_alignment<alignment_>
>::type align_;
} data_;
@@ -76,12 +76,12 @@
#else
public
#endif
- detail::aligned_storage::aligned_storage_imp<size_, alignment_>
+ ::boost::detail::aligned_storage::aligned_storage_imp<size_,
alignment_>
{
public: // constants
- typedef detail::aligned_storage::aligned_storage_imp<size_,
alignment_> type;
+ typedef
::boost::detail::aligned_storage::aligned_storage_imp<size_, alignment_>
type;
BOOST_STATIC_CONSTANT(
std::size_t
-- Dr. Tobias Germer | tgermer_at_[hidden] Software Engineer think-cell Software GmbH | Chausseestr. 8/E | 10115 Berlin | Germany http://www.think-cell.com | phone +49 30 666473-10 | US phone +1 800 891 8091 Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306 Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk