vc6 workarounds for real

[SVN r26508]
This commit is contained in:
Dave Abrahams
2004-12-14 22:34:44 +00:00
parent b09811392e
commit 340edb5672
2 changed files with 8 additions and 21 deletions

View File

@@ -17,6 +17,7 @@
#include <boost/mpl/key_type_fwd.hpp> #include <boost/mpl/key_type_fwd.hpp>
#include <boost/mpl/sequence_tag.hpp> #include <boost/mpl/sequence_tag.hpp>
#include <boost/mpl/apply_wrap.hpp>
#include <boost/mpl/aux_/na_spec.hpp> #include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp> #include <boost/mpl/aux_/lambda_support.hpp>
@@ -27,22 +28,15 @@ template<
, typename BOOST_MPL_AUX_NA_PARAM(T) , typename BOOST_MPL_AUX_NA_PARAM(T)
> >
struct key_type struct key_type
: key_type_impl< typename sequence_tag<AssociativeSequence>::type > : apply_wrap2<
::template apply<AssociativeSequence,T> key_type_impl< typename sequence_tag<AssociativeSequence>::type >
, AssociativeSequence, T>
{ {
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,key_type,(AssociativeSequence,T)) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,key_type,(AssociativeSequence,T))
}; };
BOOST_MPL_AUX_NA_SPEC(2, key_type) BOOST_MPL_AUX_NA_SPEC(2, key_type)
#if BOOST_MPL_CFG_MSVC_60_ETI_BUG
template<>
struct key_type<int, int>
{
typedef int type;
};
#endif
}} }}
#endif // BOOST_MPL_KEY_TYPE_HPP_INCLUDED #endif // BOOST_MPL_KEY_TYPE_HPP_INCLUDED

View File

@@ -17,6 +17,7 @@
#include <boost/mpl/value_type_fwd.hpp> #include <boost/mpl/value_type_fwd.hpp>
#include <boost/mpl/sequence_tag.hpp> #include <boost/mpl/sequence_tag.hpp>
#include <boost/mpl/apply_wrap.hpp>
#include <boost/mpl/aux_/na_spec.hpp> #include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp> #include <boost/mpl/aux_/lambda_support.hpp>
@@ -27,22 +28,14 @@ template<
, typename BOOST_MPL_AUX_NA_PARAM(T) , typename BOOST_MPL_AUX_NA_PARAM(T)
> >
struct value_type struct value_type
: value_type_impl< typename sequence_tag<AssociativeSequence>::type > : apply_wrap2<
::template apply<AssociativeSequence,T> value_type_impl< typename sequence_tag<AssociativeSequence>::type >
, AssociativeSequence, T >
{ {
BOOST_MPL_AUX_LAMBDA_SUPPORT(2,value_type,(AssociativeSequence,T)) BOOST_MPL_AUX_LAMBDA_SUPPORT(2,value_type,(AssociativeSequence,T))
}; };
BOOST_MPL_AUX_NA_SPEC(2, value_type) BOOST_MPL_AUX_NA_SPEC(2, value_type)
#if BOOST_MPL_CFG_MSVC_60_ETI_BUG
template<>
struct value_type<int, int>
{
typedef int type;
};
#endif
}} }}