2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-22 17:32:55 +00:00

Use BOOST_NESTED_TEMPLATE directly instead of creating own macro for MSVC6

[SVN r20833]
This commit is contained in:
Raoul Gough
2003-11-17 19:27:13 +00:00
parent 91db6f2d50
commit b5cd8c537f
3 changed files with 10 additions and 17 deletions

View File

@@ -166,13 +166,12 @@ namespace boost { namespace python { namespace indexing {
else
{
detail::maybe_insert<container_traits::has_insert>
::BOOST_PYTHON_INDEXING_NESTED_TEMPLATE apply
detail::maybe_insert<container_traits::has_insert>::
# if defined (BOOST_NO_MEMBER_TEMPLATES) \
&& defined (BOOST_MSVC6_MEMBER_TEMPLATES)
(static_cast<Algorithms *>(0),
&& defined (BOOST_MSVC6_MEMBER_TEMPLATES)
apply (static_cast<Algorithms *>(0),
# else
<Algorithms> (
BOOST_NESTED_TEMPLATE apply <Algorithms> (
# endif
*m_ptr, m_pos, val);
@@ -228,13 +227,13 @@ namespace boost { namespace python { namespace indexing {
else
{
detail::maybe_erase<container_traits::has_erase>
::BOOST_PYTHON_INDEXING_NESTED_TEMPLATE apply
detail::maybe_erase<container_traits::has_erase>::
# if defined (BOOST_NO_MEMBER_TEMPLATES) \
&& defined (BOOST_MSVC6_MEMBER_TEMPLATES)
(static_cast<Algorithms *>(0),
&& defined (BOOST_MSVC6_MEMBER_TEMPLATES)
apply (static_cast<Algorithms *>(0),
# else
<Algorithms> (
BOOST_NESTED_TEMPLATE apply <Algorithms> (
# endif
*m_ptr, m_pos, m_slice.stop());
}

View File

@@ -129,7 +129,7 @@ namespace boost { namespace python { namespace indexing {
public:
typedef typename traits_by_category <max_category>
::BOOST_PYTHON_INDEXING_NESTED_TEMPLATE traits<Iterator>::type type;
::BOOST_NESTED_TEMPLATE traits<Iterator>::type type;
};
}

View File

@@ -30,11 +30,6 @@
# endif
# if BOOST_WORKAROUND (BOOST_MSVC, <= 1300)
// visualc.hpp never seems to define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
// so BOOST_NESTED_TEMPLATE ends up expanding to "template" instead of
// being empty. This causes some compile errors with MSVC[67]
# define BOOST_PYTHON_INDEXING_NESTED_TEMPLATE
// Workaround the lack of a reset member function in std::auto_ptr
namespace boost { namespace python { namespace indexing {
template<typename T> void reset_auto_ptr (T &aptr, T::element_type *pptr) {
@@ -44,7 +39,6 @@ template<typename T> void reset_auto_ptr (T &aptr, T::element_type *pptr) {
# define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR \
::boost::python::indexing::reset_auto_ptr
# else
# define BOOST_PYTHON_INDEXING_NESTED_TEMPLATE BOOST_NESTED_TEMPLATE
# define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR( aptr, pptr ) \
(aptr).reset(pptr)
# endif