MSVC 7.0 ETI fix

[SVN r26560]
This commit is contained in:
Aleksey Gurtovoy
2004-12-20 19:35:33 +00:00
parent c0f63bca9e
commit 5b909f8c2e

View File

@@ -17,6 +17,7 @@
#include <boost/mpl/at_fwd.hpp> #include <boost/mpl/at_fwd.hpp>
#include <boost/mpl/vector/aux_/tag.hpp> #include <boost/mpl/vector/aux_/tag.hpp>
#include <boost/mpl/long.hpp> #include <boost/mpl/long.hpp>
#include <boost/mpl/void.hpp>
#include <boost/mpl/aux_/nttp_decl.hpp> #include <boost/mpl/aux_/nttp_decl.hpp>
#include <boost/mpl/aux_/type_wrapper.hpp> #include <boost/mpl/aux_/type_wrapper.hpp>
#include <boost/mpl/aux_/value_wknd.hpp> #include <boost/mpl/aux_/value_wknd.hpp>
@@ -89,6 +90,15 @@ template< BOOST_MPL_AUX_NTTP_DECL(long, n_) > struct v_at_impl
template< typename V > struct result_; template< typename V > struct result_;
}; };
// to work around ETI, etc.
template<> struct v_at_impl<-1>
{
template< typename V > struct result_
{
typedef void_ type;
};
};
} // namespace aux } // namespace aux
template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) > template< typename T, BOOST_MPL_AUX_NTTP_DECL(long, n_) >