diff --git a/include/boost/mpl/aux_/integral_wrapper.hpp b/include/boost/mpl/aux_/integral_wrapper.hpp index 216ea3b..adfe848 100644 --- a/include/boost/mpl/aux_/integral_wrapper.hpp +++ b/include/boost/mpl/aux_/integral_wrapper.hpp @@ -1,6 +1,6 @@ // + file: boost/mpl/aux_/intergal_wrapper.hpp -// + last modified: 27/jan/03 +// + last modified: 12/apr/03 // Copyright (c) 2000-03 // Aleksey Gurtovoy @@ -78,6 +78,11 @@ struct AUX_WRAPPER_NAME operator AUX_WRAPPER_VALUE_TYPE() const { return this->value; } }; +#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) +template< AUX_WRAPPER_PARAMS(N) > +AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value; +#endif + }} // namespace boost::mpl #undef AUX_WRAPPER_NAME diff --git a/include/boost/mpl/bool.hpp b/include/boost/mpl/bool.hpp index 38e8596..5c3bab2 100644 --- a/include/boost/mpl/bool.hpp +++ b/include/boost/mpl/bool.hpp @@ -3,7 +3,7 @@ #define BOOST_MPL_BOOL_HPP_INCLUDED // + file: boost/mpl/bool.hpp -// + last modified: 08/mar/03 +// + last modified: 12/apr/03 // Copyright (c) 2000-03 // Aleksey Gurtovoy @@ -31,6 +31,11 @@ template< bool C_ > struct bool_ operator bool() const { return this->value; } }; +#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) +template< bool C_ > +bool const bool_::value; +#endif + }} // namespace boost::mpl #endif // BOOST_MPL_BOOL_HPP_INCLUDED diff --git a/test/int.cpp b/test/int.cpp index ef48967..052f76e 100644 --- a/test/int.cpp +++ b/test/int.cpp @@ -1,9 +1,8 @@ -//----------------------------------------------------------------------------- -// boost mpl/test/int.cpp source file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2001-02 + +// + file: libs/mpl/int.cpp +// + last modified: 12/apr/03 + +// Copyright (c) 2001-03 // Aleksey Gurtovoy // // Permission to use, copy, modify, distribute and sell this software @@ -13,6 +12,8 @@ // supporting documentation. No representations are made about the // suitability of this software for any purpose. It is provided "as is" // without express or implied warranty. +// +// See http://www.boost.org/libs/mpl for documentation. #include "boost/mpl/int.hpp" #include "boost/mpl/assert_is_same.hpp" @@ -23,13 +24,13 @@ namespace mpl = boost::mpl; -#define INT_C_TEST(z, i, unused) \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::value_type, int); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::type, mpl::int_); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::next, mpl::int_); } \ - { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::prior, mpl::int_); } \ - { BOOST_STATIC_ASSERT(mpl::int_::value == i); } \ - assert(mpl::int_() == i); +#define INT_C_TEST(unused1, i, unused2) \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::value_type, int); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::type, mpl::int_); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::next, mpl::int_); } \ + { BOOST_MPL_ASSERT_IS_SAME(mpl::int_::prior, mpl::int_); } \ + { BOOST_STATIC_ASSERT(mpl::int_::value == i); } \ + assert(mpl::int_() == i); \ /**/ int main()