1 | |
2 | #ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED |
3 | #define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED |
4 | |
5 | // Copyright Aleksey Gurtovoy 2001-2004 |
6 | // |
7 | // Distributed under the Boost Software License, Version 1.0. |
8 | // (See accompanying file LICENSE_1_0.txt or copy at |
9 | // http://www.boost.org/LICENSE_1_0.txt) |
10 | // |
11 | // See http://www.boost.org/libs/mpl for documentation. |
12 | |
13 | // $Id$ |
14 | // $Date$ |
15 | // $Revision$ |
16 | |
17 | #include <boost/mpl/aux_/config/workaround.hpp> |
18 | |
19 | // MWCW 7.x-8.0 "losts" default template parameters of nested class |
20 | // templates when their owner classes are passed as arguments to other |
21 | // templates; Borland 5.5.1 "forgets" them from the very beginning (if |
22 | // the owner class is a class template), and Borland 5.6 isn't even |
23 | // able to compile a definition of nested class template with DTP |
24 | |
25 | #if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ |
26 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ |
27 | && BOOST_WORKAROUND(BOOST_BORLANDC, >= 0x560) \ |
28 | && BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) |
29 | |
30 | # define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES |
31 | |
32 | #endif |
33 | |
34 | |
35 | #if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ |
36 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \ |
37 | && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \ |
38 | || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ |
39 | || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ |
40 | ) |
41 | |
42 | # define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES |
43 | |
44 | #endif |
45 | |
46 | #endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED |
47 | |