annotate DEPENDENCIES/generic/include/boost/dynamic_bitset/config.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 // -----------------------------------------------------------
Chris@16 2 //
Chris@16 3 // Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek
Chris@16 4 // Copyright (c) 2003-2006, 2008 Gennaro Prota
Chris@16 5 //
Chris@16 6 // Distributed under the Boost Software License, Version 1.0.
Chris@16 7 // (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 8 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 9 //
Chris@16 10 // -----------------------------------------------------------
Chris@16 11
Chris@16 12 #ifndef BOOST_DYNAMIC_BITSET_CONFIG_HPP_GP_20040424
Chris@16 13 #define BOOST_DYNAMIC_BITSET_CONFIG_HPP_GP_20040424
Chris@16 14
Chris@16 15 #include "boost/config.hpp"
Chris@16 16 #include "boost/detail/workaround.hpp"
Chris@16 17
Chris@16 18 // support for pre 3.0 libstdc++ - thanks Phil Edwards!
Chris@16 19 #if defined (__STL_CONFIG_H) && !defined (__STL_USE_NEW_IOSTREAMS)
Chris@16 20 # define BOOST_OLD_IOSTREAMS
Chris@16 21 #endif
Chris@16 22
Chris@16 23 // no-op function to workaround gcc bug c++/8419
Chris@16 24 //
Chris@16 25 namespace boost { namespace detail {
Chris@16 26 template <typename T> T make_non_const(T t) { return t; }
Chris@16 27 }}
Chris@16 28
Chris@16 29 #if defined(__GNUC__)
Chris@16 30 # define BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(expr) \
Chris@16 31 (boost::detail::make_non_const(expr))
Chris@16 32 #else
Chris@16 33 # define BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(expr) (expr)
Chris@16 34 #endif
Chris@16 35
Chris@16 36 //
Chris@16 37 #if (defined __BORLANDC__ && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))) \
Chris@16 38 || (defined BOOST_NO_MEMBER_TEMPLATE_FRIENDS)
Chris@16 39 #define BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS
Chris@16 40 #endif
Chris@16 41
Chris@16 42 // if we can't use friends then we simply expose private members
Chris@16 43 //
Chris@16 44 #if defined(BOOST_DYNAMIC_BITSET_DONT_USE_FRIENDS)
Chris@16 45 #define BOOST_DYNAMIC_BITSET_PRIVATE public
Chris@16 46 #else
Chris@16 47 #define BOOST_DYNAMIC_BITSET_PRIVATE private
Chris@16 48 #endif
Chris@16 49
Chris@16 50 // A couple of macros to cope with libraries without locale
Chris@16 51 // support. The first macro must be used to declare a reference
Chris@16 52 // to a ctype facet. The second one to widen a char by using
Chris@16 53 // that ctype object. If facets and locales aren't available
Chris@16 54 // the first macro is a no-op and the second one just expands
Chris@16 55 // to its parameter c.
Chris@16 56 //
Chris@16 57 #if defined (BOOST_USE_FACET)
Chris@16 58
Chris@16 59 #define BOOST_DYNAMIC_BITSET_CTYPE_FACET(ch, name, loc) \
Chris@16 60 const std::ctype<ch> & name = \
Chris@16 61 BOOST_USE_FACET(std::ctype<ch>, loc) /**/
Chris@16 62
Chris@16 63 #define BOOST_DYNAMIC_BITSET_WIDEN_CHAR(fac, c) \
Chris@16 64 (fac.widen(c))
Chris@16 65 #else
Chris@16 66
Chris@16 67 #define BOOST_DYNAMIC_BITSET_CTYPE_FACET(ch, name, loc) /**/
Chris@16 68 #define BOOST_DYNAMIC_BITSET_WIDEN_CHAR(fac, c) c
Chris@16 69
Chris@16 70 #endif
Chris@16 71
Chris@16 72 #endif // include guard