diff options
Diffstat (limited to 'contrib/src/boost/mpl/aux_/msvc_dtw.hpp')
-rw-r--r-- | contrib/src/boost/mpl/aux_/msvc_dtw.hpp | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/contrib/src/boost/mpl/aux_/msvc_dtw.hpp b/contrib/src/boost/mpl/aux_/msvc_dtw.hpp index 29490ba..d595b23 100644 --- a/contrib/src/boost/mpl/aux_/msvc_dtw.hpp +++ b/contrib/src/boost/mpl/aux_/msvc_dtw.hpp @@ -1,68 +1,68 @@ -
-// Copyright Aleksey Gurtovoy 2000-2004
-//
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/mpl for documentation.
-
-// $Id$
-// $Date$
-// $Revision$
-
-// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION!
-
-#include <boost/mpl/aux_/preprocessor/params.hpp>
-
-// local macros, #undef-ined at the end of the header
-#define AUX778076_DTW_PARAMS(param) \
- BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \
-/**/
-
-#define AUX778076_DTW_ORIGINAL_NAME \
- AUX778076_MSVC_DTW_ORIGINAL_NAME \
-/**/
-
-// warning: not a well-formed C++
-// workaround for MSVC 6.5's "dependent template typedef bug"
-
-template< typename F>
-struct AUX778076_MSVC_DTW_NAME
-{
- template< bool > struct f_ : F {};
- template<> struct f_<true>
- {
-#if AUX778076_MSVC_DTW_ARITY > 0
- template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME
- {
- typedef int type;
- };
- };
-
- template< AUX778076_DTW_PARAMS(typename T) > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) >
- {
- };
-#else
- template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME
- {
- typedef int type;
- };
- };
-
- template< typename T = int > struct result_
- : f_< aux::msvc_never_true<F>::value >
- ::template AUX778076_DTW_ORIGINAL_NAME<>
- {
- };
-#endif
-};
-
-#undef AUX778076_DTW_ORIGINAL_NAME
-#undef AUX778076_DTW_PARAMS
-
-#undef AUX778076_MSVC_DTW_NAME
-#undef AUX778076_MSVC_DTW_ORIGINAL_NAME
-#undef AUX778076_MSVC_DTW_ARITY
+ +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#include <boost/mpl/aux_/preprocessor/params.hpp> + +// local macros, #undef-ined at the end of the header +#define AUX778076_DTW_PARAMS(param) \ + BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \ +/**/ + +#define AUX778076_DTW_ORIGINAL_NAME \ + AUX778076_MSVC_DTW_ORIGINAL_NAME \ +/**/ + +// warning: not a well-formed C++ +// workaround for MSVC 6.5's "dependent template typedef bug" + +template< typename F> +struct AUX778076_MSVC_DTW_NAME +{ + template< bool > struct f_ : F {}; + template<> struct f_<true> + { +#if AUX778076_MSVC_DTW_ARITY > 0 + template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME + { + typedef int type; + }; + }; + + template< AUX778076_DTW_PARAMS(typename T) > struct result_ + : f_< aux::msvc_never_true<F>::value > + ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) > + { + }; +#else + template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME + { + typedef int type; + }; + }; + + template< typename T = int > struct result_ + : f_< aux::msvc_never_true<F>::value > + ::template AUX778076_DTW_ORIGINAL_NAME<> + { + }; +#endif +}; + +#undef AUX778076_DTW_ORIGINAL_NAME +#undef AUX778076_DTW_PARAMS + +#undef AUX778076_MSVC_DTW_NAME +#undef AUX778076_MSVC_DTW_ORIGINAL_NAME +#undef AUX778076_MSVC_DTW_ARITY |