

#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED

#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED



// Copyright Aleksey Gurtovoy 2001-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.



// $Source$

// $Date: 2004-09-02 11:41:37 -0400 (Thu, 02 Sep 2004) $

// $Revision: 24874 $



#include <boost/mpl/aux_/config/workaround.hpp>



// MWCW 7.x-8.0 "losts" default template parameters of nested class 

// templates when their owner classes are passed as arguments to other 

// templates; Borland 5.5.1 "forgets" them from the very beginning (if 

// the owner class is a class template), and Borland 5.6 isn't even

// able to compile a definition of nested class template with DTP



#if    !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \

    && !defined(BOOST_MPL_PREPROCESSING_MODE) \

    && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \

    && BOOST_WORKAROUND(__BORLANDC__, < 0x600)



#   define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES



#endif





#if    !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \

    && !defined(BOOST_MPL_PREPROCESSING_MODE) \

    && (   BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \

        || BOOST_WORKAROUND(__BORLANDC__, < 0x600) \

        || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \

        )

        

#   define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES



#endif



#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED

