Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r86482 - trunk/boost/unordered/detail
From: dnljms_at_[hidden]
Date: 2013-10-27 13:58:09


Author: danieljames
Date: 2013-10-27 13:58:09 EDT (Sun, 27 Oct 2013)
New Revision: 86482
URL: http://svn.boost.org/trac/boost/changeset/86482

Log:
Try to work around Visual C++'s variadic overload bug.

Possibly too late for the release.

Text files modified:
   trunk/boost/unordered/detail/extract_key.hpp | 29 ++++++++++++++---------------
   1 files changed, 14 insertions(+), 15 deletions(-)

Modified: trunk/boost/unordered/detail/extract_key.hpp
==============================================================================
--- trunk/boost/unordered/detail/extract_key.hpp Sun Oct 27 12:22:39 2013 (r86481)
+++ trunk/boost/unordered/detail/extract_key.hpp 2013-10-27 13:58:09 EDT (Sun, 27 Oct 2013) (r86482)
@@ -56,19 +56,19 @@
             return no_key();
         }
         
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template <class... Args>
- static no_key extract(Args const&...)
- {
- return no_key();
- }
-#else
         template <class Arg>
         static no_key extract(Arg const&)
         {
             return no_key();
         }
 
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template <class Arg1, class Arg2, class... Args>
+ static no_key extract(Arg1 const&, Arg2 const&, Args const&...)
+ {
+ return no_key();
+ }
+#else
         template <class Arg1, class Arg2>
         static no_key extract(Arg1 const&, Arg2 const&)
         {
@@ -107,14 +107,6 @@
             return k;
         }
 
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template <class... Args>
- static no_key extract(Args const&...)
- {
- return no_key();
- }
-#else
-
         static no_key extract()
         {
             return no_key();
@@ -126,6 +118,13 @@
             return no_key();
         }
 
+#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ template <class Arg1, class Arg2, class... Args>
+ static no_key extract(Arg1 const&, Arg2 const&, Args const&...)
+ {
+ return no_key();
+ }
+#else
         template <class Arg, class Arg1>
         static no_key extract(Arg const&, Arg1 const&)
         {


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk