diff --git a/include/boost/mpl/advance.hpp b/include/boost/mpl/advance.hpp index 80af171..e2913d7 100644 --- a/include/boost/mpl/advance.hpp +++ b/include/boost/mpl/advance.hpp @@ -27,6 +27,7 @@ #include "boost/mpl/aux_/iterator_category.hpp" #include "boost/mpl/aux_/iterator_names.hpp" #include "boost/mpl/aux_/msvc_never_true.hpp" +#include "boost/mpl/aux_/common_name_wknd.hpp" #include "boost/mpl/aux_/apply.hpp" #include "boost/mpl/aux_/void_spec.hpp" #include "boost/config.hpp" @@ -34,6 +35,8 @@ namespace boost { namespace mpl { +BOOST_MPL_AUX_COMMON_NAME_WKND(advance) + #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace aux { diff --git a/include/boost/mpl/aux_/common_name_wknd.hpp b/include/boost/mpl/aux_/common_name_wknd.hpp new file mode 100644 index 0000000..c07e904 --- /dev/null +++ b/include/boost/mpl/aux_/common_name_wknd.hpp @@ -0,0 +1,35 @@ +//----------------------------------------------------------------------------- +// boost mpl/aux_/common_name_wknd.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2002 +// Aleksey Gurtovoy +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appears in all copies and +// that both the copyright notice and this permission notice appear in +// 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. + +#ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED +#define BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED + +#if defined(__BORLANDC__) && __BORLANDC__ < 0x561 +// agurt 12/nov/02: to supress the bogus "Cannot have both a template class and +// function named 'xxx'" diagnostic +# define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ +namespace name_##wknd { \ +template< typename > void name(); \ +} \ +/**/ + +#else + +# define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/ + +#endif // __BORLANDC__ + +#endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED diff --git a/include/boost/mpl/distance.hpp b/include/boost/mpl/distance.hpp index 2abeb08..2355f7b 100644 --- a/include/boost/mpl/distance.hpp +++ b/include/boost/mpl/distance.hpp @@ -24,12 +24,15 @@ #include "boost/mpl/iterator_range.hpp" #include "boost/mpl/integral_c.hpp" #include "boost/mpl/next.hpp" +#include "boost/mpl/aux_/common_name_wknd.hpp" #include "boost/mpl/aux_/void_spec.hpp" #include "boost/config.hpp" namespace boost { namespace mpl { +BOOST_MPL_AUX_COMMON_NAME_WKND(distance) + #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) namespace aux {