// Copyright David Abrahams 2002. // 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) #ifndef STRING_LITERAL_DWA2002629_HPP # define STRING_LITERAL_DWA2002629_HPP # include # include # include # include # include namespace boost { namespace python { namespace detail { template struct is_string_literal : mpl::false_ { }; # if !defined(__MWERKS__) || __MWERKS__ > 0x2407 template struct is_string_literal : mpl::true_ { }; # if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590040)) \ || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730) // This compiler mistakenly gets the type of string literals as char* // instead of char[NN]. template <> struct is_string_literal : mpl::true_ { }; # endif # else // CWPro7 has trouble with the array type deduction above template struct is_string_literal : is_same { }; # endif }}} // namespace boost::python::detail #endif // STRING_LITERAL_DWA2002629_HPP