1 //-----------------------------------------------------------------------------
2 // boost mpl/aux_/config/dtp.hpp header file
3 // See http://www.boost.org for updates, documentation, and revision history.
4 //-----------------------------------------------------------------------------
6 // Copyright (c) 2001-02
9 // Permission to use, copy, modify, distribute and sell this software
10 // and its documentation for any purpose is hereby granted without fee,
11 // provided that the above copyright notice appears in all copies and
12 // that both the copyright notice and this permission notice appear in
13 // supporting documentation. No representations are made about the
14 // suitability of this software for any purpose. It is provided "as is"
15 // without express or implied warranty.
17 #ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
18 #define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED
20 #include "boost/config.hpp"
22 // MWCW 7.x-8.0 "losts" default template parameters of nested class
23 // templates when their owner classes are passed as arguments to other
24 // templates; Borland 5.5.1 "forgets" them from the very beginning (if
25 // the owner class is a class template), and Borland 5.6 isn't even
26 // able to compile a definition of nested class template with DTP
28 #if defined(__BORLANDC__) && __BORLANDC__ >= 0x560 && \
29 (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \
30 && !defined(BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
31 # define BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES
34 #if defined(__MWERKS__) && __MWERKS__ <= 0x3001 \
35 || defined(__BORLANDC__) && (__BORLANDC__ <= 0x570 || !defined(BOOST_STRICT_CONFIG)) \
36 || defined(BOOST_NO_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES) \
37 && !defined(BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES)
38 # define BOOST_BROKEN_DEFAULT_TEMPLATE_PARAMETERS_IN_NESTED_TEMPLATES
41 #endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED