2 // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
3 // Use, modification and distribution are subject to the Boost Software License,
4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt).
7 // See http://www.boost.org/libs/type_traits for most recent version including documentation.
9 #ifndef BOOST_TT_CONFIG_HPP_INCLUDED
10 #define BOOST_TT_CONFIG_HPP_INCLUDED
12 #ifndef BOOST_CONFIG_HPP
13 #include "boost/config.hpp"
17 // whenever we have a conversion function with elipses
18 // it needs to be declared __cdecl to suppress compiler
19 // warnings from MS and Borland compilers (this *must*
20 // appear before we include is_same.hpp below):
21 #if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32))
22 # define BOOST_TT_DECL __cdecl
24 # define BOOST_TT_DECL /**/
27 # if (defined(__MWERKS__) && __MWERKS__ >= 0x3000) || (defined(BOOST_MSVC) && (BOOST_MSVC > 1301)) || defined(__EDG_VERSION__) || (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__DMC__) || ( defined(__IBMCPP__) && (__IBMCPP__ >= 600 ) ) || defined(BOOST_NO_COMPILER_CONFIG)
28 # define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION
32 // Define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
33 // when we can't test for function types with elipsis:
35 #if defined(__GNUC__) && (__GNUC__ < 3)
36 # define BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING
40 // define BOOST_TT_TEST_MS_FUNC_SIGS
41 // when we want to test __stdcall etc function types with is_function etc
42 // (Note, does not work with Borland, even though it does support __stdcall etc):
44 #if defined(_MSC_EXTENSIONS) && !defined(__BORLANDC__)
45 # define BOOST_TT_TEST_MS_FUNC_SIGS
49 // define BOOST_TT_NO_CV_FUNC_TEST
50 // if tests for cv-qualified member functions don't
51 // work in is_member_function_pointer
53 #if (defined(__MWERKS__) && __MWERKS__ < 0x3000) || (defined(__IBMCPP__) && __IBMCPP__ <= 600)
54 # define BOOST_TT_NO_CV_FUNC_TEST
57 #endif // BOOST_TT_CONFIG_HPP_INCLUDED