Imported Upstream version 0.8~alpha1
[platform/upstream/syncevolution.git] / src / boost / mpl / aux_ / config / dtp.hpp
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 // $Source: /cvsroot/boost/boost/boost/mpl/aux_/config/dtp.hpp,v $
14 // $Date: 2004/09/02 15:40:45 $
15 // $Revision: 1.9 $
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(__BORLANDC__, >= 0x560) \
28     && BOOST_WORKAROUND(__BORLANDC__, < 0x600)
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(__BORLANDC__, < 0x600) \
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