Compare commits

...

452 Commits

Author SHA1 Message Date
nobody
1f7bff11b5 This commit was manufactured by cvs2svn to create tag
'Version_1_33_1_beta'.

[SVN r31604]
2005-11-08 23:18:41 +00:00
John Maddock
8d8e621556 Fix configure script: some tabs had been erroneously stripped, and the regexes were incorrectly quoted for M4.
[SVN r31545]
2005-11-03 11:23:34 +00:00
John Maddock
bbd15fc472 Applied Beman Dawes patches to tidy up examples.
[SVN r31009]
2005-09-16 12:39:42 +00:00
Rene Rivera
0060deae7c Change MinGW checks to use the runtime defined version number. Remove ms_int64 def as upon further testing it proves not to be there.
[SVN r31002]
2005-09-15 16:38:32 +00:00
Rene Rivera
a0536d7f2b Some additional functionality is available with MinGW+GCC-3.4.2.
[SVN r30983]
2005-09-14 13:42:25 +00:00
John Maddock
2d1e146501 Fix comment.
[SVN r30895]
2005-09-10 10:16:40 +00:00
John Maddock
896dae9b4d Decided we need the full version string after all.
[SVN r30831]
2005-09-06 17:31:44 +00:00
John Maddock
ef7b5f528e Need to set BOOST_LIB_VERSION correctly.
[SVN r30825]
2005-09-06 12:36:24 +00:00
John Maddock
e7d7ef5cd5 Merged patches for Intel on linux from main branch.
[SVN r30800]
2005-09-04 16:20:44 +00:00
John Maddock
6cd92912e3 Detect non-default threading support.
[SVN r30790]
2005-09-03 11:04:21 +00:00
Douglas Gregor
daf84f7f88 Label as 1.33.1
[SVN r30731]
2005-08-29 21:46:43 +00:00
John Maddock
746b78de77 Added config and header include changes needed to support MSVC + STLport 5.0.
[SVN r30701]
2005-08-27 10:25:15 +00:00
John Maddock
ec99c98e59 Patch to detect std::allocator<>::rebind in STLport 5.0.
[SVN r30665]
2005-08-25 10:11:22 +00:00
John Maddock
3415151968 Enable support for Dragonfly BSD
[SVN r30647]
2005-08-24 15:45:17 +00:00
John Maddock
b8dacfc5f8 Don't undef BOOST_LIB_TOOLSET.
[SVN r30593]
2005-08-16 17:30:58 +00:00
nobody
1dc53e1676 This commit was manufactured by cvs2svn to create branch 'RC_1_33_0'.
[SVN r30300]
2005-07-28 18:22:24 +00:00
John Maddock
6e9f9132b4 Added fix for gcc versions that have only partial long long support.
[SVN r30181]
2005-07-19 17:14:00 +00:00
Markus Schöpflin
4a34d89ca9 The definition of _REENTRANT is also needed for GCC 3.3 and below on Tru64.
[SVN r30050]
2005-07-13 15:24:04 +00:00
John Maddock
c42012d639 Disable debug detection for bcb5.1: it causes the compiler to crash in release mode.
[SVN r30039]
2005-07-13 12:34:04 +00:00
John Maddock
59f6e111b5 Fix min/max references.
[SVN r30006]
2005-07-12 12:40:24 +00:00
John Maddock
2f58fb6911 Fix for threading support for Linux on arm.
[SVN r29964]
2005-07-10 10:22:20 +00:00
John Maddock
e35d48bffb Fix configure script: even with BOOST_NO_CONFIG defined, some options get automatically defined in suffix.hpp, we need to include the tests even if this is the case.
[SVN r29769]
2005-06-24 11:48:29 +00:00
Vladimir Prus
a107a3001b link-runtime -> runtime-link.
Patch from Jurgen Hunold.


[SVN r29729]
2005-06-22 10:11:39 +00:00
Markus Schöpflin
95a142d785 Temporary workaround to remove the dependency of BOOST_NO_INTEGRAL_INT64_T on
BOOST_HAS_LONG_LONG on Tru64/CXX. It should be completely removed after the next
release.


[SVN r29719]
2005-06-21 12:35:22 +00:00
Markus Schöpflin
17d0352f55 Disable BOOST_HAS_LONG_LONG when the library has no support for it.
[SVN r29613]
2005-06-16 10:23:12 +00:00
Caleb Epstein
d08665a846 Moved endianness detection to <boost/detail/endian.hpp>
[SVN r29574]
2005-06-14 22:19:42 +00:00
John Maddock
15b46e94a3 Fixed signed/unsigned comparison warnings.
[SVN r29318]
2005-05-31 09:46:54 +00:00
John Maddock
5f6bebab60 BOOST_NO_SFINAE needs to be defined for all versions of this compiler.
[SVN r29248]
2005-05-27 15:51:32 +00:00
John Maddock
1613e9907f aCC doesn't support is_abstract
[SVN r28986]
2005-05-17 10:32:59 +00:00
John Maddock
a20aa40428 Print osf macros.
[SVN r28930]
2005-05-15 16:14:22 +00:00
John Maddock
30e64613cd Don't warn when testing newer compilers on gcc any more.
Fix MWCW 9.5 failures.


[SVN r28845]
2005-05-12 16:28:44 +00:00
John Maddock
f2bf80b474 Added _MSC_FULL_VER to macro list.
[SVN r28661]
2005-05-05 16:19:46 +00:00
John Maddock
e1ccfc425a Don't detect long long support here for MSVC: it confuses VC8 in strict mode, and we have accurate detection code elsewhere anyway.
[SVN r28659]
2005-05-05 16:16:50 +00:00
John Maddock
ca50320138 Moved definition of BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL into common_edg.hpp.
[SVN r28529]
2005-04-29 15:28:06 +00:00
Rene Rivera
7d092fecaa Indicate availability of gettimeofday when building for the Carbon/Mach-O/MSL combination.
[SVN r28481]
2005-04-26 08:29:07 +00:00
Douglas Gregor
888299e3ed index.htm is now setup for 1.33.0
Bump version numbers in all the right places (I hope)
Update the release manager's checklist with Jamfile.v2


[SVN r28429]
2005-04-23 00:05:34 +00:00
John Maddock
65f8b152b7 Added explicit type casts to work around numeric_limits implementations that use nested enums (unnamed types) rather than bool members.
[SVN r28290]
2005-04-17 11:26:39 +00:00
Markus Schöpflin
9437e043fc Added BOOST_NO_IS_ABSTRACT for EDG versions < 3.00.
[SVN r28014]
2005-04-06 13:26:37 +00:00
John Maddock
3f5b942d8b Fixed include file name
[SVN r27974]
2005-04-05 09:56:19 +00:00
John Maddock
221a4bacb8 Previous commit was buggy, test should be < not <=.
[SVN r27765]
2005-03-22 10:55:03 +00:00
John Maddock
28cad00cb4 gcc on AIX patches.
[SVN r27696]
2005-03-16 12:33:29 +00:00
John Maddock
963f781337 Sunpro 5.7 fixes from Steve Clamage
[SVN r27695]
2005-03-16 12:22:48 +00:00
John Maddock
566ef2422a Fixed typos.
[SVN r27518]
2005-02-28 13:12:32 +00:00
Stefan Slapeta
7f85ce4c1a Intel Compiler 9.0
[SVN r27400]
2005-02-16 09:16:37 +00:00
Stefan Slapeta
47e3726144 update for cw 9.4
[SVN r27248]
2005-02-08 18:17:45 +00:00
John Maddock
acba71531a Tentative fixes for gcc and MWCW thread API selection on Mac OS X
[SVN r27215]
2005-02-07 11:34:21 +00:00
Jonathan Turkanis
d766b152fd platfrom --> platform
[SVN r27203]
2005-02-07 03:51:09 +00:00
Stefan Slapeta
fe75f3436c replaced BOOST_TEST
[SVN r27054]
2005-02-03 13:48:49 +00:00
Aleksey Gurtovoy
616c1f37b3 apply IBM/S390 patch from Jonathan Biggar
[SVN r26996]
2005-02-02 00:50:49 +00:00
John Maddock
dcd606e1e1 Turn off threading support if glibc++ is single threaded.
Enable threading support on HPUX for gcc >= 3.3.


[SVN r26967]
2005-01-31 17:06:43 +00:00
John Maddock
345eae6135 Added fix for broken tr on some Unix systems.
[SVN r26686]
2005-01-13 10:59:43 +00:00
John Maddock
d29400ed08 Free BSD 5 does have wide character support
[SVN r26680]
2005-01-12 12:37:18 +00:00
John Maddock
a33cd9f728 Fix for non-standard use_facet in some compilation modes.
[SVN r26617]
2005-01-02 15:54:14 +00:00
John Maddock
adf14dfcbc Added support for non-mangled library names.
[SVN r26599]
2004-12-29 11:07:19 +00:00
John Maddock
78c80bdd79 Modified the order with which tests are included by config_test.cpp so that MSVC6 doesn't choke any more.
[SVN r26540]
2004-12-17 11:39:54 +00:00
John Maddock
1e3c885b4c Oops, gcc version of the test still had errors...
[SVN r26539]
2004-12-17 11:00:14 +00:00
John Maddock
d3f31de1d8 Need to define BOOST_NO_IS_ABSTRACT for gcc 2.x compilers as well.
[SVN r26538]
2004-12-17 10:59:14 +00:00
John Maddock
2a61a39950 Integrated wording suggested on mailing list.
[SVN r26512]
2004-12-15 12:24:04 +00:00
John Maddock
69b2a8ee70 Updated docs to make more of Boost.Config explicity public.
[SVN r26497]
2004-12-14 13:34:50 +00:00
John Maddock
e826c27961 Fixed bug in test case that affects gcc and intel compilers.
[SVN r26495]
2004-12-14 12:51:39 +00:00
John Maddock
1c0606f745 Added BOOST_NO_IS_ABSTRACT to sunpro and metrowerks configs.
[SVN r26494]
2004-12-14 12:51:01 +00:00
John Maddock
3bad820e69 Added support for user settable BOOST_LIB_TOOLSET
[SVN r26428]
2004-12-04 13:40:11 +00:00
John Maddock
dacd302d49 Updated maintenance instructions, and removed all shell script.
[SVN r26423]
2004-12-04 11:54:18 +00:00
John Maddock
3423ec4c52 Added BOOST_NO_IS_ABSTRACT.
[SVN r26422]
2004-12-04 11:36:36 +00:00
John Maddock
f6b977b761 Added BOOST_NO_SFINAE docs,
Updated configure script command line.


[SVN r26322]
2004-11-27 11:19:27 +00:00
Markus Schöpflin
060cfa9333 Tru64/GCC threading fix.
[SVN r25607]
2004-10-07 13:07:33 +00:00
Aleksey Gurtovoy
3ebc5a4e2b c++boost.gif -> boost.png replacement
[SVN r25573]
2004-10-05 15:45:52 +00:00
John Maddock
d216a669c5 Added vc8 support
[SVN r24995]
2004-09-10 10:12:58 +00:00
Toon Knapen
d59804c306 MPL workaround suggested by Joaquin Lopez Munoz
[SVN r24989]
2004-09-09 13:02:20 +00:00
Stefan Slapeta
b2aa14a42e Configuration update for 9.3
[SVN r24984]
2004-09-09 09:12:00 +00:00
John Maddock
1a38571c92 Patch for STLPort configs with no wide stream support.
[SVN r24915]
2004-09-05 10:54:21 +00:00
Aleksey Gurtovoy
fe1285bb8f guard long long usage with BOOST_HAS_LONG_LONG
[SVN r24900]
2004-09-04 11:21:16 +00:00
John Maddock
64a8b36b23 Added new types boost::long_long_type and boost::ulong_long_type in boost/config.hpp and applied these types in place of "long long" throughout. As a result, almost all of boost now compiles cleanly with -ansi -pedantic with gcc. Changes tested with gcc 3.3, 2.95, VC7.1 and Intel 8.
[SVN r24899]
2004-09-04 10:34:49 +00:00
John Maddock
6bf226144f More config tweeks for swprintf support.
[SVN r24781]
2004-08-27 10:30:05 +00:00
John Maddock
5d5767d78a Another como tweek bease on feedback from Bronek Kozicki
[SVN r24659]
2004-08-23 10:36:29 +00:00
John Maddock
b8c5b0b240 Updated como config.
[SVN r24635]
2004-08-21 12:30:28 +00:00
Stefan Slapeta
660103b429 Different config macros for windows and linux compiler
[SVN r24559]
2004-08-18 14:27:42 +00:00
John Maddock
157d261ca1 Added BOOST_NO_SWPRINTF for windows.
[SVN r24551]
2004-08-18 11:44:51 +00:00
Robert Ramey
bda66dc08c account for vc 8.0
[SVN r24442]
2004-08-12 16:18:43 +00:00
Robert Ramey
85dda2ca36 set BOOST_NO_MEMBER_TEMPLATE_FRIENDS for vc 8.0
[SVN r24423]
2004-08-12 01:24:36 +00:00
John Maddock
d43935d3e0 Removed Boost.org copyrights and replaced with originating authors copyright instead.
[SVN r24372]
2004-08-10 12:53:34 +00:00
John Maddock
b34869b10f Updated comeau and compaq configs with needed BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL define.
[SVN r24342]
2004-08-08 11:37:13 +00:00
Douglas Gregor
04ca3474a5 Converted to Boost Software License, Version 1.0
[SVN r24096]
2004-07-27 03:43:34 +00:00
Douglas Gregor
b3c0b615fc Converted to Boost Software License, Version 1.0
[SVN r24055]
2004-07-26 00:32:12 +00:00
John Maddock
687b1ec4b2 Licence update
[SVN r24031]
2004-07-25 12:01:00 +00:00
John Maddock
51e6cb950b Added BOOST_WINDOWS
[SVN r24029]
2004-07-25 11:57:03 +00:00
Douglas Gregor
0dd2b7aed9 Documentation update from Jon T. Pedant
[SVN r23847]
2004-07-20 17:03:55 +00:00
Vladimir Prus
b849bfaf59 More V2 Jamfile tweaks.
[SVN r23764]
2004-07-19 07:12:45 +00:00
Aleksey Gurtovoy
2daa039875 fix messed up newlines
[SVN r23616]
2004-07-16 09:00:12 +00:00
Robert Ramey
b9b244945a removed definition of BOOST_NO_CWCHAR and BOOST_NO_CTYPE_FUNCTIONS
[SVN r23595]
2004-07-15 18:03:57 +00:00
Michael Glassford
6fe0c2f74b Changes for WinCE.
[SVN r23569]
2004-07-15 01:45:26 +00:00
Jerry Dy
139023aa09 member template friend syntax not supported yet
[SVN r23549]
2004-07-14 15:53:41 +00:00
John Maddock
7bcb01dc06 Fix for missing WCHAR_MAX/WCHAR_MIN defines.
[SVN r23538]
2004-07-14 11:00:11 +00:00
Jerry Dy
2ab6de5d5c updated so BOOST_NO_MEMBER_TEMPLATE_KEYWORD is disabled for aC++ 3.13 & above
[SVN r23515]
2004-07-13 23:55:44 +00:00
Douglas Gregor
f0f854707d Document BOOST_HAS_FACET macro
[SVN r23455]
2004-07-12 03:15:38 +00:00
Douglas Gregor
17e578ef53 Added BOOST_HAS_FACET macro
[SVN r23454]
2004-07-12 03:12:39 +00:00
Michael Glassford
efe60bb2d1 Changes for WinCE.
[SVN r23426]
2004-07-10 12:31:09 +00:00
Toon Knapen
719e2aa70f Markus Troyer correctly pointed out that BOOST_NO_INCLASS_MEMBER_INITIALIZATION should
not be defined for version 6


[SVN r23369]
2004-07-06 12:50:06 +00:00
Aleksey Gurtovoy
2237e5ae02 bump up DigitalMars version check
[SVN r23356]
2004-07-06 00:46:52 +00:00
Eric Niebler
cf4e798691 move BOOST_USING_STD_MIN and _MAX and BOOST_PREVENT_MACRO_SUBSTITUTION to the config headers, remove boost/minmax.hpp, update coding guidelines
[SVN r23313]
2004-07-02 01:21:32 +00:00
John Maddock
7203ad09bb Removed gcc-3.4 warning (causes more issues than it solves).
[SVN r23283]
2004-06-30 10:17:00 +00:00
John Maddock
a0d70af62d Tweeked support for BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
[SVN r23253]
2004-06-29 10:19:27 +00:00
John Maddock
b3eebec364 Patch for gcc-3.4 thread support.
[SVN r23209]
2004-06-27 15:31:23 +00:00
John Maddock
824cdcf0cf Added BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS.
Updated tests to not use Boost.Test.


[SVN r23146]
2004-06-22 12:41:11 +00:00
John Maddock
3d62b1768f Updated digital mars to version 0x840.
Added BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS


[SVN r23144]
2004-06-22 12:33:06 +00:00
John Maddock
73034c7e9c Updated config test system to use new .ipp file extensions.
All dependencies on Boost.Test have also been removed for the basic tests.


[SVN r23102]
2004-06-15 11:37:57 +00:00
John Maddock
c7942674bc Improved 64-bit platform diagnostics.
[SVN r23062]
2004-06-09 11:19:33 +00:00
Vladimir Prus
9678249498 Add V2 Jamfile
[SVN r22994]
2004-06-02 05:51:00 +00:00
John Maddock
8da5636184 Added more informative comments.
[SVN r22877]
2004-05-20 10:20:42 +00:00
John Maddock
2e64903b0f Added fix for Intel C++ 6 and the /Zc:wchar_t option.
[SVN r22875]
2004-05-20 10:13:31 +00:00
John Maddock
b0f05deedb Patch for sunpro 5.5 and long long numeric_limits support
[SVN r22820]
2004-05-14 10:26:36 +00:00
John Maddock
119f37e931 Added new GLIBC++V3 macros (from gcc 3.4).
[SVN r22731]
2004-05-04 10:37:17 +00:00
John Maddock
a76758bfe8 Updated for gcc 3.4
[SVN r22722]
2004-05-03 11:26:53 +00:00
John Maddock
ecfc74dcb1 Added checks to verify options at compile time.
[SVN r22715]
2004-05-01 10:51:05 +00:00
Ralf W. Grosse-Kunstleve
319660dc0a fix for MIPSpro problems: _XOPEN_SOURCE >= 500 -> _XOPEN_SOURCE+0 >= 500
[SVN r22645]
2004-04-18 07:10:13 +00:00
Dave Abrahams
5eceb24682 Get rid of bogus # define of BOOST_NO_STDC_NAMESPACE
[SVN r22629]
2004-04-11 22:57:16 +00:00
John Maddock
97285e8f89 Intel 8 is OK with std::locale code.
[SVN r22543]
2004-03-22 12:58:55 +00:00
John Maddock
acfe67a2ed Restricted old feature set to "real" VC6 only.
[SVN r22517]
2004-03-18 11:32:08 +00:00
John Maddock
b1fcec8967 removed requirement for _MSC_EXTENSIONS with msvc
[SVN r22504]
2004-03-16 17:35:07 +00:00
Toon Knapen
f057481147 added NO_INCLASS_MEMBER_INIT for version 6
[SVN r22478]
2004-03-10 16:11:41 +00:00
Toon Knapen
7c2c41e9e4 defined BOOST_NO_STD_MESSAGES since std::messages<char>::catalog can not be
casted to an int


[SVN r22476]
2004-03-10 15:09:56 +00:00
Aleksey Gurtovoy
01ba5c108f bumped version check
[SVN r22447]
2004-03-07 04:21:52 +00:00
Eric Niebler
6d27dfbbef fix min/max problems
[SVN r22408]
2004-02-28 21:21:30 +00:00
Eric Niebler
b721a6debe fix min/max problem
[SVN r22406]
2004-02-28 21:02:02 +00:00
Björn Karlsson
4dfaafc848 Patch for OpenBSD from sig lgb.
[SVN r22397]
2004-02-27 13:13:00 +00:00
Eric Niebler
95f6278e82 remove minmax hack from win32.hpp and fix all places that could be affected by the minmax macros
[SVN r22394]
2004-02-26 18:27:02 +00:00
John Maddock
8a67e3222a Added BOOST_NO_MEMBER_TEMPLATE_FRIENDS
[SVN r22389]
2004-02-25 12:39:43 +00:00
John Maddock
11ef0cd208 Extended member friend test, previous version did not catch all defects (with Borland compiler for example).
[SVN r22386]
2004-02-25 12:36:15 +00:00
Christopher Currie
2d0dc7405d Workaround for Sun CC 5.6
[SVN r22297]
2004-02-16 15:17:03 +00:00
John Maddock
28f50c3295 std lib extension namespace is stdext on vc7.1
[SVN r22148]
2004-02-03 12:41:45 +00:00
Guillaume Melquiond
e8602a5b86 Fix a typo
[SVN r21968]
2004-01-26 13:14:05 +00:00
Jens Maurer
1bcb2811bf CodeWarrior for Palm OS does not have <unistd.h> (SourceForge patch 505349)
[SVN r21927]
2004-01-25 21:18:22 +00:00
Giovanni Bajo
0b46553072 Add support to detect if STLport was configured to not use wchar_t
[SVN r21920]
2004-01-25 16:28:02 +00:00
Giovanni Bajo
38d0bdb068 Improve code to detect if wchar_t is a native type
[SVN r21919]
2004-01-25 16:26:41 +00:00
Aleksey Gurtovoy
9b4d488101 DM fixes
[SVN r21885]
2004-01-23 04:56:10 +00:00
John Maddock
cd5db2b09f Added missing #undef (previously one symbol was left defined when the header exited, which caused problems when including two or more libs, one a static link and one a dynamic link).
[SVN r21857]
2004-01-21 11:55:11 +00:00
Aleksey Gurtovoy
bb140bdddc DM fixes
[SVN r21832]
2004-01-19 20:52:53 +00:00
Aleksey Gurtovoy
08b94e0ae8 DM fixes
[SVN r21830]
2004-01-19 20:45:33 +00:00
John Maddock
8d21d15f80 Added __CYGWIN__ and __MINGW__ macros.
[SVN r21782]
2004-01-16 11:08:26 +00:00
Dave Abrahams
bdbcfed201 Applied threading detection patch from Ed Swartz at Metrowerks
[SVN r21764]
2004-01-15 17:42:07 +00:00
John Maddock
58a844779e Patches for cstdint support:
cygwin and mingw now use native stdint headers.
default header now compiles in -pedantic -ansi mode with gcc.


[SVN r21728]
2004-01-14 13:30:49 +00:00
John Maddock
f7ab97e862 Added docs for auto-link and dll option macros
[SVN r21572]
2004-01-10 12:10:00 +00:00
John Maddock
071d79d058 Updated setup based on Metrowerks feedback
[SVN r21567]
2004-01-09 13:03:45 +00:00
John Maddock
12ae2bd907 Renamed namespace "user", that name is used in some platform headers :-(
[SVN r21562]
2004-01-09 11:28:30 +00:00
Beman Dawes
690210dbb5 Enable Metrowerks support
[SVN r21552]
2004-01-09 02:20:57 +00:00
Beman Dawes
7bdb84544f turn on auto link support for Intel (from John Maddock)
[SVN r21551]
2004-01-09 00:52:02 +00:00
John Maddock
176b94c8d4 Updated and added link-tests to stress auto-linking.
[SVN r21542]
2004-01-08 12:42:38 +00:00
John Maddock
e41f88e71d Fixed broken test cases, and added two new ones that were previously missing from cvs
[SVN r21509]
2004-01-06 13:24:31 +00:00
Beman Dawes
03abb9c07a Ed Swartz of Metrowerks says __MWERKS__ will be 0x3202 for 9.2
[SVN r21505]
2004-01-06 01:03:43 +00:00
John Maddock
e3b7e9034b Updated version check to gcc3.4
[SVN r21495]
2004-01-05 12:05:07 +00:00
Dave Abrahams
ca04d5e1eb Suppress warnings in gcc-3.4
[SVN r21492]
2004-01-05 11:35:13 +00:00
John Maddock
570538a303 Added missing <algorithm> include - fixes some problems when mixing boost with windows headers.
[SVN r21426]
2003-12-30 12:10:03 +00:00
John Maddock
95117e938e Set BOOST_NO_SWPRINTF unconditionally for _WIN32
[SVN r21388]
2003-12-24 12:00:09 +00:00
John Maddock
5b4e6a4068 Added some missing defines.
[SVN r21362]
2003-12-21 16:18:01 +00:00
John Maddock
c42978702d Added tests for new requires_threads.hpp header
[SVN r21350]
2003-12-20 11:55:42 +00:00
John Maddock
94a7800ff4 Added new header for checking multi-threading requirements.
[SVN r21349]
2003-12-20 11:54:47 +00:00
Beman Dawes
5dbc5f3826 9.2 still needs BOOST_NO_MEMBER_TEMPLATE_FRIENDS
[SVN r21337]
2003-12-19 12:54:26 +00:00
John Maddock
a361db89ec Improved error message for unknown compilers
[SVN r21336]
2003-12-19 12:16:58 +00:00
Beman Dawes
8dcb1c2f4e Update version numbers
[SVN r21329]
2003-12-18 21:33:10 +00:00
John Maddock
d01d0f9ab0 Apparently BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS needs to be defined for vc7
[SVN r21301]
2003-12-17 12:14:15 +00:00
John Maddock
89f71e245f Fixed iostream usage (gcc 3.4 regressions)
[SVN r21271]
2003-12-15 12:31:05 +00:00
John Maddock
3c0eed1fed Cleaned up regressions from last release caused by new macros being added.
[SVN r21270]
2003-12-15 12:30:32 +00:00
John Maddock
039a8e3b92 Re ran generate program (last run messed things up). Config_test.cpp should be OK now.
[SVN r21244]
2003-12-13 12:31:48 +00:00
Aleksey Gurtovoy
0bdf1a13e2 DigitalMars fixes
[SVN r21242]
2003-12-13 10:06:06 +00:00
John Maddock
fd367acdcb Added new macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
[SVN r21222]
2003-12-11 12:00:30 +00:00
Douglas Gregor
a941a117ce Metrowerks CodeWarrior 8.3 doesn't seem to support SFINAE
[SVN r21141]
2003-12-04 22:06:56 +00:00
Jaakko Järvi
6f978a2982 changed BOOST_NO_SFINAE test
[SVN r21129]
2003-12-03 22:52:07 +00:00
Jaakko Järvi
8c1f422a49 refined BOOST_NO_SFINAE conditions based on Doug Gregor's comments
[SVN r21127]
2003-12-03 21:04:44 +00:00
Jaakko Järvi
1677adf462 Added BOOST_NO_SFINAE config macro, removed internal version from
the iterator library


[SVN r21125]
2003-12-03 19:26:15 +00:00
John Maddock
818670ad28 Allow testing of both __int64 and long long at the same time.
[SVN r21039]
2003-12-01 12:00:26 +00:00
John Maddock
363b340c2c Use of template keyword was illegal, so removed it.
[SVN r21038]
2003-12-01 11:54:57 +00:00
John Maddock
17b33eda15 restrict abi testing to "real" msvc.
[SVN r21037]
2003-12-01 11:54:17 +00:00
John Maddock
7ac6bf4b96 Another patch for the new 6.0 compiler.
[SVN r21034]
2003-12-01 11:49:23 +00:00
John Maddock
a430c5c28e More or less final fixup for Borland preview compiler - the config tests now all pass for this compiler, except for an internal compiler error in config_test.cpp, which does not occur if the individual tests are compiled separately rather than "on mass".
[SVN r20975]
2003-11-27 12:27:11 +00:00
Beman Dawes
2f95ee89df fix broken link
[SVN r20964]
2003-11-26 18:11:45 +00:00
John Maddock
cec4768110 First cut at supporting Borland's new compiler front end with dinkumware lib.
[SVN r20957]
2003-11-26 12:25:35 +00:00
John Maddock
579da92456 Fixed up header so that non-msvc compilers that non-the-less define _MSC_VER don't get picked up.
[SVN r20954]
2003-11-26 12:00:04 +00:00
John Maddock
c3857a106c Fixes for VC6+stlport
[SVN r20950]
2003-11-26 11:42:15 +00:00
Beman Dawes
982f209ccd initial commit
[SVN r20946]
2003-11-25 18:28:08 +00:00
John Maddock
7ab5f3e52b Fixed support for STLPort-4.6 on MSVC 6 (std::allocator rebinding doesn't work).
[SVN r20808]
2003-11-14 12:37:35 +00:00
John Maddock
eab6d69c48 Added C compatibility for regex lib (honestly).
[SVN r20773]
2003-11-10 11:23:57 +00:00
John Maddock
db7f463805 Removed the bcb5 name from the toolset names - that's not an official toolset.
[SVN r20763]
2003-11-08 13:01:13 +00:00
John Maddock
13271be003 Updated docs to match changes to auto-linking code.
Updated auto-link tests to match the new Boost.Install naming scheme.


[SVN r20603]
2003-11-02 11:45:25 +00:00
John Maddock
f4d59657b9 Added new macro BOOST_LIB_VERSION to version.hpp so that auto-linking code knows what version suffix to append to library file names.
Updated auto-linking headers to match new Boost.Install code.


[SVN r20602]
2003-11-02 11:43:56 +00:00
John Maddock
a2c5a2a065 Gcc 3 does have a std C namespace
[SVN r20543]
2003-10-29 12:01:47 +00:00
John Maddock
5959d6bce2 Updated copyright declarations to use new single boost license.
[SVN r20372]
2003-10-14 10:33:24 +00:00
John Maddock
1e7c2699db Added new licence info.
[SVN r20254]
2003-10-04 11:29:20 +00:00
John Maddock
6d6f37633d Undone previous fix (the whole idea of this file is to test whether stdint.h is available, not to "fake" it's presence. Added explicit check for those platforms that have intypes.h rather than stdint.h.
[SVN r20197]
2003-09-27 10:43:36 +00:00
Toon Knapen
990526ae7b include portable cstdint (boost/cstdint.hpp) instead of stdint.h directly (Andrew Godbout)
[SVN r20193]
2003-09-26 12:35:59 +00:00
Vladimir Prus
2e7affb55f Kill a warning.
[SVN r20182]
2003-09-25 11:55:19 +00:00
Dave Abrahams
753534ef37 Use the import rule
[SVN r19968]
2003-09-08 17:38:49 +00:00
John Maddock
d95b647a46 Updated __sgi version check for BOOST_NO_STD_MESSAGES
[SVN r19941]
2003-09-07 10:39:13 +00:00
John Maddock
1ea7f28709 Apparently __int64 can be used even in strict mode (/Za).
[SVN r19879]
2003-08-30 10:14:12 +00:00
John Maddock
4dd8845166 Added needed newline at file end
[SVN r19829]
2003-08-28 12:04:57 +00:00
John Maddock
c0f29f3dca Added BOOST_HAS_DECLSPEC define
[SVN r19828]
2003-08-28 12:04:26 +00:00
John Maddock
4eb152aa0a Re-enabled threading support for cygwin (while mingw32 defines _MT cygwin doesn't define anything when -mthreads is specified).
[SVN r19780]
2003-08-26 10:47:22 +00:00
John Maddock
80b14ea8a8 Added minimal Docs for new macros and headers (abi fixing/link library selection/BOOST_HAS_DECLS|PEC), more to come on this...
Added test cases for new macros and headers.


[SVN r19655]
2003-08-17 12:03:01 +00:00
John Maddock
e620ac24ab Added BOOST_HAS_DECLSPEC
[SVN r19654]
2003-08-17 12:00:52 +00:00
John Maddock
22eeeb33e9 Fixed spelling of "BOOST" - basically a enormous cut and paste error!
[SVN r19581]
2003-08-14 10:22:05 +00:00
John Maddock
f64e7067c9 Added ABI prefix and suffix headers, plus automatic linking code from boost.regex to boost.config.
[SVN r19545]
2003-08-12 11:21:26 +00:00
Eric Friedman
71e9fe5101 Added BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC, etc.
[SVN r19503]
2003-08-10 08:12:31 +00:00
John Maddock
e5262ed219 Refactored config test options.
Regenerated script generated files.


[SVN r19412]
2003-08-03 11:41:45 +00:00
John Maddock
93dd77869e Added tests for a gcc specific bug
[SVN r19401]
2003-08-02 11:53:35 +00:00
John Maddock
d8741215a5 Added fix for gcc bug in 3.1 and 3.2 versions.
[SVN r19400]
2003-08-02 11:52:32 +00:00
Beman Dawes
bbbb8297ea 8.0 recognized + fix BOOST_NO_INTRINSIC_WCHAR_T for Windows
[SVN r19319]
2003-07-27 01:37:28 +00:00
John Maddock
7f5c1d6b8f made local variables static, so that the code can be reused by regex_config_info.
[SVN r19316]
2003-07-26 11:11:54 +00:00
Toon Knapen
55e6bd7132 take setup of version 60 if not STRICT_CONFIG
[SVN r19294]
2003-07-24 07:52:37 +00:00
Toon Knapen
b06e5afde0 BOOST_NO_MEMBER_TEMPLATE_KEYWORD not defined anymore starting from version 60
[SVN r19292]
2003-07-24 07:37:57 +00:00
Beman Dawes
82bdc27bb7 fix BIIST_STDLIB spacing
[SVN r19142]
2003-07-16 10:16:32 +00:00
Jens Maurer
dbb3fe1b84 need BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
[SVN r19058]
2003-07-11 16:03:11 +00:00
Jens Maurer
f79f11aca1 GNU C on HP-UX does not support threads (checked up to gcc 3.3)
[SVN r19057]
2003-07-11 16:02:53 +00:00
Jens Maurer
f4e683302d beautify platform identifier
[SVN r19050]
2003-07-11 14:22:37 +00:00
Jens Maurer
8c011660ed GNU C on IRIX does not support threads (yet)
[SVN r19047]
2003-07-11 12:52:15 +00:00
Jens Maurer
8c7b359fa2 turn threading detail macros off if we don't (want to) use threading
[SVN r19046]
2003-07-11 12:51:44 +00:00
Jens Maurer
23f572d0b6 don't use NULL unless <stddef.h> has been included
[SVN r19010]
2003-07-09 23:22:18 +00:00
Jens Maurer
90981b9ee2 more libcomo special cases
[SVN r19002]
2003-07-09 20:02:32 +00:00
Jens Maurer
2208736b0e improve comment
[SVN r19001]
2003-07-09 20:00:32 +00:00
Jens Maurer
b25deb3366 set BOOST_NO_INCLASS_MEMBER_INITIALIZATION to avoid compiler crash
with Boost.Python


[SVN r18999]
2003-07-09 19:44:32 +00:00
Jens Maurer
60558d2791 BOOST_HAS_LONG_LONG is set by edg_common.hpp
[SVN r18998]
2003-07-09 19:41:55 +00:00
Jens Maurer
473fc44ff6 avoid "unused variable" warning with gcc
[SVN r18985]
2003-07-09 08:58:30 +00:00
Toon Knapen
8259764b49 initialising pointer to NULL to avoid warning on VisualAge
[SVN r18965]
2003-07-07 17:02:59 +00:00
John Maddock
0a1facf57a Moved intel selection up above gcc selection - intel 8 defines __GNUC__ on linux...
[SVN r18957]
2003-07-07 11:56:56 +00:00
John Maddock
c03d073c6c Hopefully fixed wchar_t support on linux...
[SVN r18956]
2003-07-07 11:55:26 +00:00
Martin Wille
e6dcebcff9 -- changed the order in which it is checked for Comeau C++ and GCC
this is required to detect Comeau C++ with gcc backend correctly


[SVN r18789]
2003-06-13 13:05:58 +00:00
Gennaro Prota
ba3dc87248 removed two blank lines, for consistency
[SVN r18763]
2003-06-10 17:48:17 +00:00
Gennaro Prota
9c49e78cfa added documentation for BOOST_EXPLICIT_TEMPLATE_TYPE & Co.
[SVN r18762]
2003-06-10 17:24:39 +00:00
Toon Knapen
d5136058c0 update for vacpp version 6.0
[SVN r18698]
2003-06-06 12:17:52 +00:00
John Maddock
37d1ce27dc Fix broken <cstring> in release mode settings.
[SVN r18678]
2003-06-05 10:44:50 +00:00
Beman Dawes
6b24a269b2 bring into sync with tools/build/intel-win32-tools.jam
[SVN r18649]
2003-06-03 00:04:31 +00:00
Beman Dawes
70b59c02f8 Fix spelling of Comeau
[SVN r18645]
2003-06-02 12:12:20 +00:00
Beman Dawes
ee438550db Remove code that in effect always defined BOOST_DISABLE_THREADS on win32 (Note threads may be disabled elsewhere because of lack of multithread library support.)
[SVN r18644]
2003-06-01 19:16:15 +00:00
Beman Dawes
517bc9850c Better BOOST_NO_INTRINSIC_WCHAR_T fix from Pavel Vozenilek
[SVN r18643]
2003-06-01 19:09:09 +00:00
Beman Dawes
6ed5b28457 BOOST_NO_INTRINSIC_WCHAR_T now correct for 7.0 on Win32, based on config_info report
[SVN r18640]
2003-06-01 18:06:27 +00:00
John Maddock
baa0be852b Added missing includes
[SVN r18607]
2003-05-30 11:14:52 +00:00
John Maddock
fd10aff9aa removed dependency on std::ptrdiff_t
[SVN r18605]
2003-05-30 10:45:52 +00:00
Beman Dawes
5e916a44b5 Add <no-warn>config_test.cpp for Comeau
[SVN r18572]
2003-05-28 00:32:33 +00:00
John Maddock
dd0b9c84ca Added support for BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
[SVN r18533]
2003-05-25 10:53:26 +00:00
John Maddock
512fdec421 Added new config macro: BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
[SVN r18507]
2003-05-23 11:10:34 +00:00
Guillaume Melquiond
d1f3f6f38e Add a new config macro BOOST_INTEL
[SVN r18504]
2003-05-23 07:03:21 +00:00
Beman Dawes
269e334a5f Add unsigned long long macros
[SVN r18482]
2003-05-21 12:59:49 +00:00
Guillaume Melquiond
8994818a55 Add gcc 3.3 as the last known and checked version
[SVN r18445]
2003-05-19 12:11:22 +00:00
John Maddock
ef4b048477 Added dump of BOOST_HAS_PARTIAL_STD_ALLOCATOR
[SVN r18429]
2003-05-17 11:41:11 +00:00
Dave Abrahams
92d31fd7e6 Suggested typo-revealing patch from Giovanni Bajo <giovannibajo-at-libero.it>
[SVN r18414]
2003-05-15 23:08:21 +00:00
Guillaume Melquiond
2ccdf98ed8 Replace ICL by ICC for the detection of std:: C namespace; and hope for a better solution to be found
[SVN r18398]
2003-05-14 21:26:43 +00:00
John Maddock
8fd25536d0 Corrected Intel version check
[SVN r18397]
2003-05-14 10:42:20 +00:00
John Maddock
76a1e0208a Fixes for Intel C++ 7 on Linux
[SVN r18388]
2003-05-13 11:56:18 +00:00
John Maddock
33303778a0 Enabled BOOST_HAS_PARTIAL_STD_ALLOCATOR for vc7
[SVN r18376]
2003-05-10 11:35:40 +00:00
Aleksey Gurtovoy
cd2fdac9f5 define BOOST_NO_INCLASS_MEMBER_INITIALIZATION for Sun
[SVN r18365]
2003-05-08 12:10:36 +00:00
Guillaume Melquiond
3fc4ccd640 Revert a patch that broke Intel compiler on Linux
[SVN r18364]
2003-05-08 11:38:31 +00:00
Aleksey Gurtovoy
b406ae1b3e restore from the CVS crash
[SVN r18358]
2003-05-08 10:10:54 +00:00
Dave Abrahams
f6eb5e8aa9 Roll back mistaken change
[SVN r18314]
2003-04-25 17:04:49 +00:00
Dave Abrahams
c31a7209ac Applied patches from "Pavel Vozenilek" <pavel_vozenilek-at-hotmail.com>
[SVN r18310]
2003-04-25 14:16:19 +00:00
Gennaro Prota
767ec48375 shortened names of new macros, improved comments
[SVN r18306]
2003-04-24 15:01:20 +00:00
Toon Knapen
7fa91feb00 removed BOOST_HAS_THREADS as threads on HPUX11i are not compliant enough
taking into account aCC version 53800


[SVN r18277]
2003-04-18 10:10:45 +00:00
Gennaro Prota
648b777160 added BOOST_[APPEND_]TEMPLATE_EXPLICITLY_SPECIFIED_[NON_]TYPE
[SVN r18272]
2003-04-16 23:39:37 +00:00
John Maddock
b22c9ced68 Added exception handling detection, disabled thread support for platforms where we can actually detect whether it is on or not.
[SVN r18234]
2003-04-11 10:47:00 +00:00
Dave Abrahams
878a7543d7 Small changes to support new iterator adaptors in sandbox
[SVN r18212]
2003-04-09 11:57:59 +00:00
Dave Abrahams
6489c17c19 BOOST_NO_DEDUCED_TYPENAME applies to vc7 too (Pavol Droba <droba@topmail.sk>)
[SVN r18209]
2003-04-08 14:06:01 +00:00
John Maddock
4c407e34ad Fixed typo in comment
[SVN r18190]
2003-04-06 10:39:55 +00:00
Beman Dawes
20a4dd507c Get ready for next release
[SVN r18039]
2003-03-20 22:34:01 +00:00
Dave Abrahams
eb0676edac more comment clarifications
[SVN r18032]
2003-03-20 15:29:32 +00:00
Dave Abrahams
cac5f11a3f Comment clarification from Giovanni Bajo <giovannibajo-at-libero.it>
and me.


[SVN r18031]
2003-03-20 15:26:40 +00:00
Ralf W. Grosse-Kunstleve
d7dcef4f46 adjustment for Itanium2
[SVN r17803]
2003-03-11 01:32:03 +00:00
Beman Dawes
261a01ccab See format_test1 for example of why needed
[SVN r17583]
2003-02-21 22:08:01 +00:00
Markus Schöpflin
f07d411903 Define BOOST_NO_MEMBER_TEMPLATE_KEYWORD only for compiler version <= 502.
[SVN r17484]
2003-02-17 12:34:08 +00:00
Gennadiy Rozental
44d1e083e8 test library rename
[SVN r17445]
2003-02-15 21:59:54 +00:00
Beman Dawes
0a24a02b94 undef didn't work
[SVN r17382]
2003-02-13 22:34:23 +00:00
John Maddock
adbd58188c Added BOOST_HAS_SIGACTION
[SVN r17360]
2003-02-13 12:28:49 +00:00
Beman Dawes
c90afc4022 standarize version message format so status reporting finds it
[SVN r17338]
2003-02-12 20:41:55 +00:00
Beman Dawes
9d6d544940 undef BOOST_COMPILER_VERSION
[SVN r17337]
2003-02-12 20:32:35 +00:00
Björn Karlsson
2a0358cb5f Added copyright statement
[SVN r17203]
2003-02-04 15:02:15 +00:00
Björn Karlsson
ded9a55c2d Untabified
[SVN r17202]
2003-02-04 15:01:48 +00:00
Dave Abrahams
39d0339f38 detect single-threaded builds for MinGW
[SVN r17094]
2003-01-30 18:13:55 +00:00
Dave Abrahams
8c654b6131 bugfix
[SVN r17083]
2003-01-29 20:28:46 +00:00
John Maddock
ddd1594f79 Reverted to previous hopefully good version
[SVN r17040]
2003-01-25 11:56:53 +00:00
Dave Abrahams
598573bd19 Add -AA option for aCC
[SVN r17026]
2003-01-24 13:58:57 +00:00
John Maddock
b0aa8f3c2c Disabled threading support when _POSIX_THREADS is not set
[SVN r17023]
2003-01-24 12:44:33 +00:00
John Maddock
e4171501b5 Moved platform specific HP options into platform config
and out of the compiler config (these options need to
be set for gcc as well as for HP aCC for example).


[SVN r17006]
2003-01-23 12:33:29 +00:00
Dave Abrahams
609a9b1721 Update config to match configure results
[SVN r16976]
2003-01-21 14:04:09 +00:00
Dave Abrahams
10b23200bb Add -AA option to aCC so that we get accurate info
[SVN r16974]
2003-01-21 13:41:00 +00:00
John Maddock
e457f90dfa Enabled pthread support for OpenBSD
[SVN r16927]
2003-01-18 11:30:51 +00:00
John Maddock
659d73e807 loosened feature detection: previous change was too tight.
[SVN r16874]
2003-01-12 11:37:53 +00:00
Beman Dawes
1789378a6e fix broken links
[SVN r16818]
2003-01-09 12:30:58 +00:00
John Maddock
c2f2333c2d config_info now prints BOOST_DEDUCED_TYPENAME
Jamfile and generator program now uses compile-fail tests


[SVN r16745]
2003-01-04 12:55:01 +00:00
John Maddock
043ada7c08 Fixed cygwin config to cope with new stricter POSIX feature detection
Modified dinkumware config to not set BOOST_NO_STD_ALLOCATOR when the compiler is not MSVC.


[SVN r16744]
2003-01-04 12:53:08 +00:00
Dave Abrahams
18e4652814 Patch for missing long long numeric limits.
[SVN r16738]
2003-01-03 15:16:30 +00:00
Beman Dawes
7c7da1d09a Use __VERSION__ for msg to pick up all 3 levels
[SVN r16728]
2003-01-01 19:19:57 +00:00
Beman Dawes
ce94616f6e add or update See www.boost.org comments
[SVN r16708]
2002-12-27 16:51:53 +00:00
Beman Dawes
783b6407c3 ++last known
[SVN r16694]
2002-12-23 19:49:22 +00:00
Beman Dawes
bd3900cb28 1.30.0 prep
[SVN r16693]
2002-12-23 15:19:21 +00:00
Beman Dawes
6fc288a2cd rename Boost.test libraries
[SVN r16680]
2002-12-22 20:57:56 +00:00
John Maddock
21922c5b5b Added checks for _POSIX_C_SOURCE and _XOPEN_SOURCE
[SVN r16677]
2002-12-22 12:11:07 +00:00
Dave Abrahams
5e5eaae566 add missing parens
[SVN r16665]
2002-12-19 17:01:00 +00:00
John Maddock
3ada4c5873 MacOS fixes for Carbon builds
[SVN r16662]
2002-12-19 11:38:07 +00:00
Dave Abrahams
ff6bee14c8 doc fix
[SVN r16661]
2002-12-19 04:29:53 +00:00
Dave Abrahams
75d1036e2b Final version, I think.
Includes BOOST_TESTED_AT error/warning mechanism for latest version tests.


[SVN r16660]
2002-12-19 04:29:03 +00:00
John Maddock
941d72d8df Initial commit
[SVN r16601]
2002-12-13 11:14:29 +00:00
Dave Abrahams
6b980a5a2d Fold in results of all recent discussions
[SVN r16596]
2002-12-12 18:43:26 +00:00
Dave Abrahams
430d235b4e Added BOOST_NO_UNREACHABLE_RETURN_DETECTION
[SVN r16575]
2002-12-09 14:57:59 +00:00
John Maddock
3596eec09a Added BOOST_UNREACHABLE_RETURN workaround macro.
[SVN r16574]
2002-12-09 12:21:54 +00:00
Dave Abrahams
555d41525d Add boost/config.hpp include
[SVN r16529]
2002-12-06 19:17:42 +00:00
Dave Abrahams
eb0e48ba27 initial commit
[SVN r16527]
2002-12-06 19:07:40 +00:00
Dave Abrahams
09ab4bc87b Account for broken pthreads on HPUX
[SVN r16519]
2002-12-04 17:58:12 +00:00
Dave Abrahams
0c41779a38 added BOOST_NO_MEMBER_TEMPLATE_KEYWORD
[SVN r16507]
2002-12-04 15:49:51 +00:00
Dave Abrahams
dd33b06231 update configuration for latest HP
[SVN r16492]
2002-12-03 19:04:22 +00:00
John Maddock
a7e89b0c67 removed defunct BOOST_DECL macro
[SVN r16257]
2002-11-15 12:57:13 +00:00
John Maddock
93c84f7657 Added new macros to config_info
Updated configure script to log the results


[SVN r16251]
2002-11-15 11:46:26 +00:00
John Maddock
180d63457b Added new config macro test cases, removed old testing script (use bjam instead).
[SVN r16222]
2002-11-13 12:19:31 +00:00
Dave Abrahams
b09fd33660 BOOST_NO_EXCEPTIONS patch from Alberto Barbati <abarbati@iaanus.com>
[SVN r16219]
2002-11-13 04:49:56 +00:00
Dave Abrahams
2ca6ac7df2 Fix for vc7
[SVN r16207]
2002-11-12 03:18:20 +00:00
Daniel Frey
ea44ab1401 Added BOOST_HAS_NRVO
[SVN r16204]
2002-11-12 00:18:26 +00:00
John Maddock
0ec58eab08 Added BOOST_STD_EXTENTION_NAMESPACE docs.
[SVN r16193]
2002-11-11 12:14:04 +00:00
John Maddock
3c3999d851 fixed mis-spelled BOOST_NO_CWCTYPE
[SVN r16192]
2002-11-11 12:12:55 +00:00
John Maddock
49ab0b66d5 Added BOOST_DINKUMWARE_STDLIB macro
[SVN r16172]
2002-11-09 11:54:05 +00:00
Dave Abrahams
14bbe68053 BOOST_DEDUCED_TYPENAME
[SVN r16146]
2002-11-07 14:01:16 +00:00
Dave Abrahams
f217166b21 BOOST_DEDUCED_TYPENAME
[SVN r16138]
2002-11-07 01:11:13 +00:00
Dave Abrahams
48b23b5064 No member template friends in 8.x
[SVN r16135]
2002-11-06 19:40:16 +00:00
Dave Abrahams
f0ab8c6d41 Daniel Frey's NRVO patches
[SVN r16084]
2002-11-04 01:59:32 +00:00
Dave Abrahams
49e2972952 Update for Sun Workshop 7
[SVN r16036]
2002-11-01 02:41:01 +00:00
Darin Adler
253bd15cf1 Fix standard C library check so it will work with CodeWarrior Pro 8.
[SVN r15972]
2002-10-23 23:32:38 +00:00
John Maddock
f72495d8b5 Moved Dinkumware lib detection further down the list,
so that it doesn't get confused with any possible replacements.


[SVN r15965]
2002-10-23 11:02:04 +00:00
John Maddock
7302ec29fe Merged changes from RC_1_29_0.
[SVN r15960]
2002-10-21 11:05:10 +00:00
John Maddock
9ec9927674 Merged changes from the RC_1_29_0 branch.
[SVN r15959]
2002-10-21 11:03:05 +00:00
Aleksey Gurtovoy
e1504cfb2e BOOST_NO_TEMPLATE_TEMPLATES fix
[SVN r15568]
2002-09-30 05:25:45 +00:00
Aleksey Gurtovoy
c980eca229 undo incorrect BOOST_STRICT_CONFIG changes
[SVN r15567]
2002-09-30 05:21:38 +00:00
Aleksey Gurtovoy
b0310d66ea undo incorrect BOOST_STRICT_CONFIG changes
[SVN r15566]
2002-09-30 05:03:47 +00:00
Aleksey Gurtovoy
397e88754d BOOST_STRICT_CONFIG fix
[SVN r15565]
2002-09-30 04:47:03 +00:00
Dave Abrahams
8c49d00328 Correct BOOST_NO_EXCEPTIONS for KAI
[SVN r15414]
2002-09-17 17:37:31 +00:00
Dave Abrahams
61cc49fd2f Move BOOST_NO_TEMPLATE_TEMPLATES check to edg_common
[SVN r15393]
2002-09-17 01:00:31 +00:00
Dave Abrahams
78dddbc032 Old EDG fixes
[SVN r15392]
2002-09-17 00:49:09 +00:00
Dave Abrahams
f7ca700f8a No template template parameters for Intel 5.x
[SVN r15387]
2002-09-16 20:09:04 +00:00
John Maddock
a37bdd82b5 Updated last vacpp version number
[SVN r15370]
2002-09-16 11:52:30 +00:00
Björn Karlsson
1ac93b8c1a fix: changed ULONG_LONG_MIN to ULONGLONG_MIN
[SVN r15369]
2002-09-16 11:00:55 +00:00
Dave Abrahams
beeb65b38d vc6 fix
[SVN r15340]
2002-09-15 19:28:13 +00:00
John Maddock
d3a4cda4c0 Made changes to work with new boost.test library.
Added separate Jamfile


[SVN r15299]
2002-09-13 11:44:40 +00:00
John Maddock
d3cc222fe9 VC7 has no numeric_limits<__int64> specialisation
[SVN r15209]
2002-09-08 11:31:56 +00:00
John Maddock
5241fbdd13 Fixed def of mumeric_limits<unsigned long long>::digits
[SVN r15208]
2002-09-08 11:31:17 +00:00
John Maddock
4000c1eeed Fixed Intel C++ fix (had previously mis-spelled __ICL)
[SVN r15194]
2002-09-07 10:45:47 +00:00
John Maddock
398a9b79f0 Tentative changes for Visual C++ .NET 2003 (Beta)
[SVN r15174]
2002-09-06 10:16:56 +00:00
John Maddock
cb0286c416 Added BOOST_NO_STD_LOCALE for intel C++ on Dinkumware.
Removed BOOST_HAS_STDINT_H for Borland on non-Win32 platforms


[SVN r15125]
2002-09-01 10:45:12 +00:00
Beman Dawes
b99b9771c1 8.02
[SVN r15113]
2002-08-30 12:47:29 +00:00
John Maddock
e0d2db8a3d Misc Kylix fixes
[SVN r15086]
2002-08-25 11:57:37 +00:00
John Maddock
d6a89e7d49 Added Kylix 3 support
[SVN r15050]
2002-08-22 11:50:39 +00:00
Beman Dawes
414d604f79 init commit
[SVN r14977]
2002-08-19 23:29:18 +00:00
John Maddock
3dfd72e3bc Added new config macros:
BOOST_HAS_PARTIAL_STD_ALLOCATOR
	BOOST_NO_EXCEPTION_STD_NAMESPACE


[SVN r14809]
2002-08-13 11:52:06 +00:00
Dave Abrahams
9a536e3f28 Fix for platforms (MINGW 2.95.2) where only one of ULLONG_MAX and ULLONG_MIN are defined.
[SVN r14718]
2002-08-06 22:32:37 +00:00
Beman Dawes
7c8d4f23ce clear un/signed warnings
[SVN r14692]
2002-08-05 11:16:14 +00:00
John Maddock
93a28fab3b Corrected Typo in BOOST_NO_STD_WSTREAMBUF
[SVN r14652]
2002-07-31 11:23:53 +00:00
John Maddock
51aac5ee14 Tidied up #if
[SVN r14651]
2002-07-31 11:23:01 +00:00
John Maddock
ec0bf8e76a Added BOOST_NO_STD_WSTREAMBUF to GNU libstdc++3 config
[SVN r14632]
2002-07-28 11:06:51 +00:00
John Maddock
f591b2901f Added some more EDG compiler macros
[SVN r14631]
2002-07-28 11:01:28 +00:00
John Maddock
392bbe5700 Updated dinkumware config: should work for Intel C++ now.
[SVN r14626]
2002-07-27 11:43:45 +00:00
John Maddock
81097e309e Stripped tabs from files.
[SVN r14618]
2002-07-26 11:17:37 +00:00
Dave Abrahams
0c1888c352 GCC 2.95.x fixes
[SVN r14591]
2002-07-24 16:07:41 +00:00
Beman Dawes
053c1fb45f Removed several spurious ";" to quiet warnings
[SVN r14577]
2002-07-23 20:47:35 +00:00
Beman Dawes
56c052de56 Better version identification
[SVN r14576]
2002-07-23 19:47:15 +00:00
John Maddock
23308946c7 Added documentation for new config macros:
BOOST_NO_MS_INT64_NUMERIC_LIMTS
	BOOST_NO_LONG LONG_NUMERIC_LIMTS
	BOOST_NO_STD_WSTREAM
Added new macros to config_info.cpp program.


[SVN r14560]
2002-07-22 11:23:24 +00:00
John Maddock
3168ad683a Added __int64 and long long tests.
[SVN r14559]
2002-07-22 11:01:23 +00:00
John Maddock
3a70564582 Added specialisations for __int64 and long long where these are missing.
[SVN r14558]
2002-07-22 11:00:20 +00:00
John Maddock
06034f2281 Moved min/max overloads to win32.hpp from suffix.hpp
[SVN r14551]
2002-07-21 11:06:29 +00:00
John Maddock
f1d6e86af9 Fixed VC6 warnings.
[SVN r14547]
2002-07-20 12:06:34 +00:00
John Maddock
5406c65596 Moved definition of NOMINMAX to win32.hpp
[SVN r14546]
2002-07-20 12:06:05 +00:00
John Maddock
5c7f8b9290 Added new config macros:
BOOST_NO_STD_WSTREAMBUF
	BOOST_NO_LONG_LONG_NUMERIC_LIMITS
	BOOST_NO_MS_INT64_NUMERIC_LIMITS


[SVN r14514]
2002-07-18 11:10:04 +00:00
John Maddock
113cded49d Added new libcomo.hpp config header.
Added new config macros:
	BOOST_NO_STD_WSTREAMBUF
	BOOST_NO_LONG_LONG_NUMERIC_LIMITS
	BOOST_NO_MS_INT64_NUMERIC_LIMITS


[SVN r14512]
2002-07-18 11:06:42 +00:00
John Maddock
08cf657ad4 Updated support for Borland C++ and STLport (again)
Hopefully fixed support for platforms where STLport imports names from std:: to _STL::


[SVN r14490]
2002-07-17 11:37:48 +00:00
John Maddock
224e97fbb6 Fixed support for C++ Builder 5 + STLport.
[SVN r14476]
2002-07-16 11:18:02 +00:00
Dave Abrahams
bc1b510b18 Rip out mistaken "fix" based on John Maddock's advice
[SVN r14446]
2002-07-14 11:47:42 +00:00
Dave Abrahams
99b01de780 Fix unversioned VC++ checks
[SVN r14436]
2002-07-13 12:26:19 +00:00
Beman Dawes
873f5745a6 Improve BOOST_COMPILER
[SVN r14430]
2002-07-12 21:41:55 +00:00
Beman Dawes
f6c78ce85d 8.1 increment
[SVN r14429]
2002-07-12 19:58:26 +00:00
Peter Dimov
8f83b72cfb Last tested version is 1310.
[SVN r14425]
2002-07-12 18:24:15 +00:00
Dave Abrahams
2fbcada958 Add specializations for __int64 and unsigned __int64 for MSVC6
[SVN r14409]
2002-07-11 20:30:32 +00:00
John Maddock
b79fe524db Added needed BOOST_NO_TEMPLATE_TEMPLATES option.
[SVN r14405]
2002-07-11 10:38:21 +00:00
John Maddock
2f2fe38142 Added detection for exception and long long support.
[SVN r14320]
2002-07-07 10:44:08 +00:00
Dave Abrahams
a02e3a0b7e Commited patch from "Lars Gullik Bjønnes" <larsbj@lyx.org>
[SVN r14279]
2002-07-02 12:59:37 +00:00
Dave Abrahams
17dcb7eabb Fix mistaken config changes
[SVN r14259]
2002-06-29 18:31:27 +00:00
Beman Dawes
388bf56907 8.0 further update
[SVN r14254]
2002-06-28 00:27:02 +00:00
Beman Dawes
739a468531 add 8.0
[SVN r14253]
2002-06-28 00:06:47 +00:00
Darin Adler
03affa0d41 Use if __MACH__ instead of ifdef __MACH__
[SVN r14089]
2002-06-06 13:53:49 +00:00
John Maddock
a2e706b74a Updated docs on BOOST_MSVC_ITERATOR
[SVN r14034]
2002-05-24 11:08:36 +00:00
John Maddock
d0e59f4b09 Removed msvc-iterator flag
[SVN r14033]
2002-05-24 11:07:09 +00:00
John Maddock
52a0dc9a14 Hopefully fixed Intel C++ on linux by adding BOOST_NO_STDC_NAMESPACE
(the C++ headers for this compiler seem to do an incomplete job of
importing C functions into std:: as per usual).


[SVN r14018]
2002-05-23 11:41:10 +00:00
Dave Abrahams
edc44fc45d remove bogus BOOST_NO_INCLASS_MEMBER_INITIALIZATION
[SVN r13992]
2002-05-21 13:09:25 +00:00
John Maddock
234c93f760 Re-enabled BOOST_MSVC_STD_ITERATOR for VC+STLport (seems to work now).
[SVN r13985]
2002-05-20 11:44:31 +00:00
John Maddock
d88a4e5f15 Several new config macros added.
[SVN r13984]
2002-05-20 11:28:22 +00:00
Jens Maurer
71bb9dcb7e don't give an error or warning with gcc 3.2 (current gcc main branch)
[SVN r13983]
2002-05-20 10:53:04 +00:00
Jens Maurer
c039069703 add comment for BOOST_BIG_ENDIAN etc.
[SVN r13982]
2002-05-20 10:50:04 +00:00
John Maddock
a10341d270 Added new config options - not yet quite finished - test cases to come.
[SVN r13972]
2002-05-18 11:31:51 +00:00
Beman Dawes
b6045d7e4a 1.29.0
[SVN r13955]
2002-05-16 18:07:26 +00:00
Dave Abrahams
d8cfcaf517 Merged from RC_1_28_0
[SVN r13944]
2002-05-16 00:56:42 +00:00
John Maddock
b44b6d5082 Removed reference to BOOST_HAS_LONG_LONG (doesn't work yet).
[SVN r13819]
2002-05-11 10:58:12 +00:00
John Maddock
8dfc8e3813 Removed tabs, fixed end of files.
[SVN r13803]
2002-05-10 11:35:38 +00:00
John Maddock
d1c3bf73de Added user-config macro BOOST_DISABLE_WIN32
(also set in the compiler 's strict mode).
Modified Boost source not to use Win32 specific
extentions in the presence of BOOST_DISABLE_WIN32.


[SVN r13771]
2002-05-09 11:40:52 +00:00
John Maddock
697f09e480 Moved config_info.cpp and the config docs into synch.
[SVN r13715]
2002-05-07 11:40:13 +00:00
John Maddock
9e02db296c Added new config macro BOOST_HAS_MS_INT64 to detect presence of __int64 data type.
Modified boost source to use BOOST_HAS_LONG_LONG and BOOST_HAS_MS_INT64
   where appropriate to do so.


[SVN r13714]
2002-05-07 11:24:29 +00:00
John Maddock
6b5a580456 Patched so that the code now compilers with VC6
[SVN r13669]
2002-05-05 11:00:28 +00:00
John Maddock
33badb1465 Borland C++ Builder 6 fixes
[SVN r13659]
2002-05-04 10:55:15 +00:00
John Maddock
40652fd38b Como on linux fix - sets BOOST_NO_STDC_NAMESPACE
[SVN r13658]
2002-05-04 10:51:33 +00:00
John Maddock
8b19f71d8b Added some more fixes for calling config script from an alien directory
[SVN r13563]
2002-04-25 11:57:48 +00:00
John Maddock
529cd10632 Added --with-boost=DIR option
[SVN r13558]
2002-04-24 11:31:31 +00:00
Jens Maurer
9bbd6ebd4e SunCC <= 5.2 does not do partial specialization sufficiently well
[SVN r13555]
2002-04-23 19:55:47 +00:00
Peter Dimov
86fdd6b8b7 Fixes for Comeau strict mode on Windows
[SVN r13544]
2002-04-22 21:17:42 +00:00
Peter Dimov
125d0a3960 Preliminary 7.01 support
[SVN r13540]
2002-04-22 09:36:25 +00:00
John Maddock
2b3a97d877 tweeks for C++ Builder 6
[SVN r13481]
2002-04-14 11:41:54 +00:00
John Maddock
1c7875b8f3 Replace BOOST_NO_EXCEPTIONS support which had got lost in the last checkin.
[SVN r13355]
2002-04-03 10:29:32 +00:00
Jens Maurer
f60564c3fc BOOST_NO_LIMITS should not be used by user code; use <boost/limits.hpp> instead
BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS should not be defined when
BOOST_NO_LIMITS is defined


[SVN r13340]
2002-04-01 18:57:43 +00:00
John Maddock
e9a05a8e99 Added BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS workaround.
[SVN r13293]
2002-03-28 12:45:03 +00:00
John Maddock
77408f35fa Added new amiga config.
[SVN r13292]
2002-03-28 12:44:12 +00:00
John Maddock
6c739c164c Added amiga config.
[SVN r13291]
2002-03-28 12:43:38 +00:00
Dave Abrahams
9689b13885 Fixes for use with older dinkum libraries
[SVN r13189]
2002-03-14 05:08:55 +00:00
Beman Dawes
32b9a941eb Fix copyright message
[SVN r13185]
2002-03-13 01:34:11 +00:00
Aleksey Gurtovoy
98c7b04e09 fixed incorrect #warning directive
[SVN r13171]
2002-03-11 01:23:15 +00:00
John Maddock
8e4cc7303b Updated description
[SVN r13048]
2002-03-03 11:38:18 +00:00
John Maddock
70bbd4f23e Updated BOOST_NO_USING_TEMPLATE docs.
[SVN r13047]
2002-03-03 11:36:31 +00:00
John Maddock
6018d270bc Fixed selection of BOOST_NO_STDC_NAMESPACE on bcb6
[SVN r13046]
2002-03-03 11:33:14 +00:00
Jens Maurer
7e7c15a4cc add "long double" overloads of min/max for MSVC to avoid choosing
the "long" overloads for floating-point numbers


[SVN r13041]
2002-03-03 10:03:00 +00:00
John Maddock
69ad1282a3 Added some RT and thread API selection options which otherwise auto-detected.
[SVN r12991]
2002-03-01 12:24:20 +00:00
John Maddock
a62b71e0f7 Turned on threading support.
[SVN r12990]
2002-03-01 12:23:40 +00:00
Dave Abrahams
e21b6658c9 Applying Patch from "Ed James-Beckham" <edjboost@yahoo.com>
[SVN r12940]
2002-02-26 13:10:28 +00:00
Dave Abrahams
bd52ac9181 #undef min/max for MinGW if neccessary
[SVN r12917]
2002-02-24 02:35:55 +00:00
John Maddock
57743254f6 Moved como entry up the list so that como+borland works now.
[SVN r12911]
2002-02-23 12:57:54 +00:00
John Maddock
8d9d0c50da Defined BOOST_NO_STDC_NAMESPACE for VC6 (or compatible) compiler with updated Dinkumware lib.
[SVN r12873]
2002-02-21 11:34:11 +00:00
John Maddock
10f4ccdeb5 Added more (and better) docs for BOOST_NO_EXCEPTIONS
[SVN r12791]
2002-02-13 12:29:31 +00:00
Lie-Quan Lee
2e8d7faec6 OST_NO_INCLASS_MEMBER_INITIALIZATION
[SVN r12790]
2002-02-12 22:34:28 +00:00
Douglas Gregor
43130a3d85 FreeBSD 3.x has pthreads support, but _POSIX_THREADS isn't defined by
<unistd.h>


[SVN r12771]
2002-02-09 15:02:48 +00:00
Douglas Gregor
77c2b1f807 FreeBSD 3.x has <hl_types.h>
[SVN r12770]
2002-02-09 14:55:37 +00:00
John Maddock
bdf2ddfb26 Added support for BOOST_NO_EXCEPTIONS
[SVN r12756]
2002-02-08 12:42:59 +00:00
John Maddock
4091f8c54f Added BOOST_NO_EXCEPTIONS support
[SVN r12754]
2002-02-08 12:39:21 +00:00
Beman Dawes
a42bc25797 1.27.0 runup
[SVN r12733]
2002-02-05 18:37:22 +00:00
Douglas Gregor
95579505ba Linux has pthread_mutexattr_settype with _XOPEN_VERSION == 500
[SVN r12728]
2002-02-05 15:59:48 +00:00
Douglas Gregor
dfdd6c27c0 Regenerated
[SVN r12668]
2002-02-03 15:12:29 +00:00
Darin Adler
466f871557 Fix small HTML problems.
[SVN r12650]
2002-02-02 19:05:15 +00:00
Darin Adler
577d925828 New smart pointer documentation. Related clean-up of the smart pointer
library. Changing includes to include the new individual smart pointer
headers. Replacing old smart pointer library with an include of the new
smart pointer headers. Simplify ifdefs that involve the member templates
macros now that BOOST_MSVC6_MEMBER_TEMPLATES is also guaranteed to bet
set for platforms that have full member templates.


[SVN r12647]
2002-02-02 18:36:12 +00:00
John Maddock
d4cb507015 Undone previous mistaken fix.
[SVN r12629]
2002-02-02 12:16:25 +00:00
John Maddock
82c4ce106f Added BOOST_NO_VOID_RETURNS to ensure bind/function code works.
[SVN r12628]
2002-02-02 11:56:07 +00:00
Dave Abrahams
c556aa4e2d Improved GCC 2.95 compatibility. Now works with MinGW 1.1
[SVN r12589]
2002-01-30 20:02:44 +00:00
Douglas Gregor
b73d7be5f1 boost_no_priv_aggregate.cxx:
- Make dummy function uncallable (added to silence GCC warning)

config_test.cpp:
regression.cfg:
  - Regenerated

boost_has_pthread_ma_st.cxx:
  - BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE macro test

boost_has_pthread_ma_gt.cxx:
  - BOOST_HAS_PTHREAD_MUTEXATTR_GETTYPE macro is unused, so remove it


[SVN r12551]
2002-01-29 13:48:02 +00:00
John Maddock
ed54a93299 Added BOOST_NO_CTYPE_FUNCTIONS fix for gcc 3.x
[SVN r12548]
2002-01-29 12:56:11 +00:00
Douglas Gregor
0483b05a98 Silence a warning from GCC
[SVN r12527]
2002-01-27 18:00:20 +00:00
William E. Kempf
b9cd52c6a2 Added Mac Carbon implementation to Boost.Threads.
[SVN r12480]
2002-01-24 16:32:23 +00:00
Douglas Gregor
78793dd2ba update version comment
[SVN r12477]
2002-01-24 13:33:11 +00:00
Douglas Gregor
810fea3ae9 gcc.hpp:
- Bump GCC version accepted to 3.1


[SVN r12476]
2002-01-24 13:31:39 +00:00
Peter Dimov
3cc12ab7e0 smart_ptr.hpp less<> fixed, partial specialization enabled on Sun 5.3
[SVN r12334]
2002-01-17 12:46:45 +00:00
John Maddock
5dcc786a6d Stripped tabs from source files
[SVN r12333]
2002-01-17 12:46:26 +00:00
Beman Dawes
ae5fdbe5f4 7.1
[SVN r12142]
2001-12-24 14:40:17 +00:00
Jens Maurer
1a8c1dda68 void returns not supported on EDG <= 2.40 (Ralf W. Grosse-Kunstleve)
[SVN r12069]
2001-12-16 16:31:20 +00:00
Beman Dawes
2a53a7458e backout #define BOOST_NO_STRINGSTREAM - later versions of 2.9x supply it
[SVN r12033]
2001-12-13 16:24:31 +00:00
Beman Dawes
cf0493ff14 add BOOST_NO_STRINGSTREAM
[SVN r12018]
2001-12-12 02:14:12 +00:00
Dave Abrahams
6a41c69ad6 Fixed locale support macro definitions
[SVN r11872]
2001-12-03 14:35:11 +00:00
Jens Maurer
cdd885bc28 avoid "unused variable" warnings
[SVN r11861]
2001-12-02 19:58:06 +00:00
Dave Abrahams
63dc3c2a64 Metrowerks needs BOOST_NO_STD_LOCALE in config to be able to compile regex
regex test Jamfile updates so that some tests will actually run
warning suppression for condition.cpp

unit-test rule now accepts input files
updated metrowerks and borland to properly set up path for running tests

----------------------------------------------------------------------
Modified Files:
	boost/config/compiler/metrowerks.hpp
	libs/python/src/gen_function.py libs/regex/test/Jamfile
 Tag: thread-initial
	libs/thread/src/condition.cpp
 No tag
	tools/build/boost-base.jam tools/build/borland-tools.jam
	tools/build/metrowerks-tools.jam
----------------------------------------------------------------------


[SVN r11853]
2001-12-02 17:43:45 +00:00
Peter Dimov
ebc6c751ac Defined BOOST_NO_VOID_RETURNS in MSVC 6 mode.
[SVN r11846]
2001-12-01 13:19:05 +00:00
342 changed files with 16547 additions and 5461 deletions

2726
config.htm

File diff suppressed because it is too large Load Diff

2287
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,11 @@
// Boost config.hpp configuration header file ------------------------------//
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// See http://www.boost.org/libs/config for most recent version.
// Boost config.hpp policy and rationale documentation has been moved to
// http://www.boost.org/libs/config
@@ -67,3 +67,4 @@

View File

@@ -0,0 +1,27 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
// for C++ Builder the following options effect the ABI:
//
// -b (on or off - effect emum sizes)
// -Vx (on or off - empty members)
// -Ve (on or off - empty base classes)
// -aX (alignment - 5 options).
// -pX (Calling convention - 4 options)
// -VmX (member pointer size and layout - 5 options)
// -VC (on or off, changes name mangling)
// -Vl (on or off, changes struct layout).
// In addition the following warnings are sufficiently annoying (and
// unfixable) to have them turned off by default:
//
// 8027 - functions containing [for|while] loops are not expanded inline
// 8026 - functions taking class by value arguments are not expanded inline
#pragma nopushoptwarn
# pragma option push -Vx -Ve -a8 -b -pc -Vmv -VC- -Vl- -w-8027 -w-8026

View File

@@ -0,0 +1,12 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
# pragma option pop
#pragma nopushoptwarn

View File

@@ -0,0 +1,8 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
#pragma pack(push,8)

View File

@@ -0,0 +1,8 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
#pragma pack(pop)

View File

@@ -0,0 +1,20 @@
// abi_prefix header -------------------------------------------------------//
// © Copyright John Maddock 2003
// Use, modification and distribution are subject to 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 BOOST_CONFIG_ABI_PREFIX_HPP
# define BOOST_CONFIG_ABI_PREFIX_HPP
#else
# error double inclusion of header boost/config/abi_prefix.hpp is an error
#endif
#include <boost/config.hpp>
// this must occur after all other includes and before any code appears:
#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_PREFIX
#endif

View File

@@ -0,0 +1,23 @@
// abi_sufffix header -------------------------------------------------------//
// © Copyright John Maddock 2003
// Use, modification and distribution are subject to 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).
// This header should be #included AFTER code that was preceded by a #include
// <boost/config/abi_prefix.hpp>.
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
# error Header boost/config/abi_prefix.hpp must only be used after boost/config/abi_prefix.hpp
#else
# undef BOOST_CONFIG_ABI_PREFIX_HPP
#endif
// the suffix header occurs after all of our code:
#ifdef BOOST_HAS_ABI_HEADERS
# include BOOST_ABI_SUFFIX
#endif

View File

@@ -0,0 +1,357 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
/*
* LOCATION: see http://www.boost.org for most recent version.
* FILE auto_link.hpp
* VERSION see <boost/version.hpp>
* DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
*/
/*************************************************************************
USAGE:
~~~~~~
Before including this header you must define one or more of define the following macros:
BOOST_LIB_NAME: Required: A string containing the basename of the library,
for example boost_regex.
BOOST_LIB_TOOLSET: Optional: the base name of the toolset.
BOOST_DYN_LINK: Optional: when set link to dll rather than static library.
BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
of the library selected (useful for debugging).
BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
rather than a mangled-name version.
These macros will be undef'ed at the end of the header, further this header
has no include guards - so be sure to include it only once from your library!
Algorithm:
~~~~~~~~~~
Libraries for Borland and Microsoft compilers are automatically
selected here, the name of the lib is selected according to the following
formula:
BOOST_LIB_PREFIX
+ BOOST_LIB_NAME
+ "_"
+ BOOST_LIB_TOOLSET
+ BOOST_LIB_THREAD_OPT
+ BOOST_LIB_RT_OPT
"-"
+ BOOST_LIB_VERSION
These are defined as:
BOOST_LIB_PREFIX: "lib" for static libraries otherwise "".
BOOST_LIB_NAME: The base name of the lib ( for example boost_regex).
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
contains one or more of the following letters after
a hiphen:
s static runtime (dynamic if not present).
d debug build (release if not present).
g debug/diagnostic runtime (release if not present).
p STLPort Build.
BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
***************************************************************************/
#ifdef __cplusplus
# ifndef BOOST_CONFIG_HPP
# include <boost/config.hpp>
# endif
#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
//
// C language compatability (no, honestly)
//
# define BOOST_MSVC _MSC_VER
# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
# define BOOST_DO_STRINGIZE(X) #X
#endif
//
// Only include what follows for known and supported compilers:
//
#if defined(BOOST_MSVC) \
|| defined(__BORLANDC__) \
|| (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
|| (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
#ifndef BOOST_VERSION_HPP
# include <boost/version.hpp>
#endif
#ifndef BOOST_LIB_NAME
# error "Macro BOOST_LIB_NAME not set (internal error)"
#endif
//
// error check:
//
#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
# error "Incompatible build options"
#endif
//
// select toolset if not defined already:
//
#ifndef BOOST_LIB_TOOLSET
#if defined(BOOST_MSVC) && (BOOST_MSVC == 1200)
// vc6:
# define BOOST_LIB_TOOLSET "vc6"
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
// vc7:
# define BOOST_LIB_TOOLSET "vc7"
#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
// vc71:
# define BOOST_LIB_TOOLSET "vc71"
#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1400)
// vc80:
# define BOOST_LIB_TOOLSET "vc80"
#elif defined(__BORLANDC__)
// CBuilder 6:
# define BOOST_LIB_TOOLSET "bcb"
#elif defined(__ICL)
// Intel C++, no version number:
# define BOOST_LIB_TOOLSET "iw"
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
// Metrowerks CodeWarrior 8.x
# define BOOST_LIB_TOOLSET "cw8"
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
// Metrowerks CodeWarrior 9.x
# define BOOST_LIB_TOOLSET "cw9"
#endif
#endif // BOOST_LIB_TOOLSET
//
// select thread opt:
//
#if defined(_MT) || defined(__MT__)
# define BOOST_LIB_THREAD_OPT "-mt"
#else
# define BOOST_LIB_THREAD_OPT
#endif
#if defined(_MSC_VER) || defined(__MWERKS__)
# ifdef _DLL
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
# define BOOST_LIB_RT_OPT "-gdp"
# elif defined(_DEBUG)
# define BOOST_LIB_RT_OPT "-gdp"
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
# error "Build options aren't compatible with pre-built libraries"
# else
# define BOOST_LIB_RT_OPT "-p"
# endif
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
# define BOOST_LIB_RT_OPT "-gdpn"
# elif defined(_DEBUG)
# define BOOST_LIB_RT_OPT "-gdpn"
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
# error "Build options aren't compatible with pre-built libraries"
# else
# define BOOST_LIB_RT_OPT "-pn"
# endif
# else
# if defined(_DEBUG)
# define BOOST_LIB_RT_OPT "-gd"
# else
# define BOOST_LIB_RT_OPT
# endif
# endif
# else
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
# define BOOST_LIB_RT_OPT "-sgdp"
# elif defined(_DEBUG)
# define BOOST_LIB_RT_OPT "-sgdp"
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
# error "Build options aren't compatible with pre-built libraries"
# else
# define BOOST_LIB_RT_OPT "-sp"
# endif
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
# define BOOST_LIB_RT_OPT "-sgdpn"
# elif defined(_DEBUG)
# define BOOST_LIB_RT_OPT "-sgdpn"
# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
# error "Build options aren't compatible with pre-built libraries"
# else
# define BOOST_LIB_RT_OPT "-spn"
# endif
# else
# if defined(_DEBUG)
# define BOOST_LIB_RT_OPT "-sgd"
# else
# define BOOST_LIB_RT_OPT "-s"
# endif
# endif
# endif
#elif defined(__BORLANDC__)
//
// figure out whether we want the debug builds or not:
//
#if __BORLANDC__ > 0x561
#pragma defineonoption BOOST_BORLAND_DEBUG -v
#endif
//
// sanity check:
//
#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form"
#endif
# ifdef _RTLDLL
# ifdef BOOST_BORLAND_DEBUG
# define BOOST_LIB_RT_OPT "-d"
# else
# define BOOST_LIB_RT_OPT
# endif
# else
# ifdef BOOST_BORLAND_DEBUG
# define BOOST_LIB_RT_OPT "-sd"
# else
# define BOOST_LIB_RT_OPT "-s"
# endif
# endif
#endif
//
// select linkage opt:
//
#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
# define BOOST_LIB_PREFIX
#elif defined(BOOST_DYN_LINK)
# error "Mixing a dll boost library with a static runtime is a really bad idea..."
#else
# define BOOST_LIB_PREFIX "lib"
#endif
//
// now include the lib:
//
#if defined(BOOST_LIB_NAME) \
&& defined(BOOST_LIB_PREFIX) \
&& defined(BOOST_LIB_TOOLSET) \
&& defined(BOOST_LIB_THREAD_OPT) \
&& defined(BOOST_LIB_RT_OPT) \
&& defined(BOOST_LIB_VERSION)
#ifndef BOOST_AUTO_LINK_NOMANGLE
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
# ifdef BOOST_LIB_DIAGNOSTIC
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
# endif
#else
# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
# ifdef BOOST_LIB_DIAGNOSTIC
# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
# endif
#endif
#else
# error "some required macros where not defined (internal logic error)."
#endif
#endif // _MSC_VER || __BORLANDC__
//
// finally undef any macros we may have set:
//
#ifdef BOOST_LIB_PREFIX
# undef BOOST_LIB_PREFIX
#endif
#if defined(BOOST_LIB_NAME)
# undef BOOST_LIB_NAME
#endif
// Don't undef this one: it can be set by the user and should be the
// same for all libraries:
//#if defined(BOOST_LIB_TOOLSET)
//# undef BOOST_LIB_TOOLSET
//#endif
#if defined(BOOST_LIB_THREAD_OPT)
# undef BOOST_LIB_THREAD_OPT
#endif
#if defined(BOOST_LIB_RT_OPT)
# undef BOOST_LIB_RT_OPT
#endif
#if defined(BOOST_LIB_LINK_OPT)
# undef BOOST_LIB_LINK_OPT
#endif
#if defined(BOOST_LIB_DEBUG_OPT)
# undef BOOST_LIB_DEBUG_OPT
#endif
#if defined(BOOST_DYN_LINK)
# undef BOOST_DYN_LINK
#endif
#if defined(BOOST_AUTO_LINK_NOMANGLE)
# undef BOOST_AUTO_LINK_NOMANGLE
#endif

View File

@@ -1,37 +1,151 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Aleksey Gurtovoy 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// Borland C++ compiler setup:
// Version 5.0 and below:
# if __BORLANDC__ <= 0x0550
// Borland C++ Builder 4 and 5:
// Borland C++Builder 4 and 5:
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# if __BORLANDC__ == 0x0550
// Borland C++ Builder 5, command-line compiler 5.5:
// Borland C++Builder 5, command-line compiler 5.5:
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# endif
# endif
#if (__BORLANDC__ >= 0x550)
// <climits> is partly broken, some macos define symbols that are really in
// Version 5.51 and below:
#if (__BORLANDC__ <= 0x551)
# define BOOST_NO_CV_SPECIALIZATIONS
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_NO_DEDUCED_TYPENAME
// workaround for missing WCHAR_MAX/WCHAR_MIN:
#include <climits>
#include <cwchar>
#ifndef WCHAR_MAX
# define WCHAR_MAX 0xffff
#endif
#ifndef WCHAR_MIN
# define WCHAR_MIN 0
#endif
#endif
// Version 7.0 (Kylix) and below:
#if (__BORLANDC__ <= 0x570)
# define BOOST_NO_SFINAE
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_USING_TEMPLATE
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
# define BOOST_NO_TEMPLATE_TEMPLATES
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
// we shouldn't really need this - but too many things choke
// without it, this needs more investigation:
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# define BOOST_NO_IS_ABSTRACT
# ifdef NDEBUG
// fix broken <cstring> so that Boost.test works:
# include <cstring>
# undef strcmp
# endif
//
// new bug in 5.61:
#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x570)
// this seems to be needed by the command line compiler, but not the IDE:
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
#endif
# ifdef _WIN32
# define BOOST_NO_SWPRINTF
# elif defined(linux) || defined(__linux__) || defined(__linux)
// we should really be able to do without this
// but the wcs* functions aren't imported into std::
# define BOOST_NO_STDC_NAMESPACE
// _CPPUNWIND doesn't get automatically set for some reason:
# pragma defineonoption BOOST_CPPUNWIND -x
# endif
#endif
//
// Post 0x561 we have long long and stdint.h:
#if __BORLANDC__ >= 0x561
# ifndef __NO_LONG_LONG
# define BOOST_HAS_LONG_LONG
# endif
// On non-Win32 platforms let the platform config figure this out:
# ifdef _WIN32
# define BOOST_HAS_STDINT_H
# endif
#endif
// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
// defined, then we have 0x560 or greater with the Rogue Wave implementation
// which presumably has the std::DBL_MAX bug.
#if ((__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560)) || defined(_USE_OLD_RW_STL)
// <climits> is partly broken, some macros define symbols that are really in
// namespace std, so you end up having to use illegal constructs like
// std::DBL_MAX, as a fix we'll just include float.h and have done with:
#include <float.h>
#endif
// Version 5.51:
#if (__BORLANDC__ <= 0x551) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_CV_SPECIALIZATIONS
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_SWPRINTF
# define BOOST_NO_USING_TEMPLATE
//
// __int64:
//
#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
# define BOOST_HAS_MS_INT64
#endif
//
// check for exception handling support:
//
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
#endif
//
// all versions have a <dirent.h>:
//
#ifndef __STRICT_ANSI__
# define BOOST_HAS_DIRENT_H
#endif
//
// all versions support __declspec:
//
#ifndef __STRICT_ANSI__
# define BOOST_HAS_DECLSPEC
#endif
//
// ABI fixing headers:
//
#if __BORLANDC__ < 0x600 // not implemented for version 6 compiler yet
#ifndef BOOST_ABI_PREFIX
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
#endif
#ifndef BOOST_ABI_SUFFIX
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
#endif
#endif
//
// Disable Win32 support in ANSI mode:
//
#if __BORLANDC__ < 0x600
# pragma defineonoption BOOST_DISABLE_WIN32 -A
#elif defined(__STRICT_ANSI__)
# define BOOST_DISABLE_WIN32
#endif
//
// MSVC compatibility mode does some nasty things:
//
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_VOID_RETURNS
#endif
#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
@@ -43,8 +157,8 @@
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 5.51:
#if (__BORLANDC__ > 0x551)
// last known and checked version is 1536 (Builder X preview):
#if (__BORLANDC__ > 1536)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
@@ -53,3 +167,9 @@
#endif

View File

@@ -1,7 +1,12 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright Douglas Gregor 2001.
// (C) Copyright Peter Dimov 2001.
// (C) Copyright Aleksey Gurtovoy 2003.
// (C) Copyright Beman Dawes 2003.
// (C) Copyright Jens Maurer 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -9,13 +14,29 @@
#include "boost/config/compiler/common_edg.hpp"
#if (__COMO_VERSION__ <= 4245) || !defined(BOOST_STRICT_CONFIG)
#if (__COMO_VERSION__ <= 4245)
# if defined(_MSC_VER) && _MSC_VER <= 1300
# define BOOST_NO_STDC_NAMESPACE
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_SWPRINTF
# if _MSC_VER > 100
// only set this in non-strict mode:
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
# endif
// Void returns don't work when emulating VC 6 (Peter Dimov)
# if defined(_MSC_VER) && (_MSC_VER == 1200)
# define BOOST_NO_VOID_RETURNS
# endif
#endif // version 4245
//
// enable __int64 support in VC emulation mode
//
# if defined(_MSC_VER) && (_MSC_VER >= 1200)
# define BOOST_HAS_MS_INT64
# endif
#endif
#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
@@ -35,3 +56,4 @@

View File

@@ -1,7 +1,11 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// (C) Copyright Jens Maurer 2001.
// (C) Copyright David Abrahams 2002.
// (C) Copyright Aleksey Gurtovoy 2002.
// (C) Copyright Markus Schoepflin 2005.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -10,22 +14,49 @@
//
// This is included from within the individual compiler mini-configs.
#ifndef __EDG_VERSION__
#ifndef __EDG_VERSION__
# error This file requires that __EDG_VERSION__ be defined.
#endif
#if (__EDG_VERSION__ <= 238)
# define BOOST_NO_VOID_RETURNS
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_SFINAE
#endif
#if (__EDG_VERSION__ <= 240)
# define BOOST_NO_VOID_RETURNS
#endif
#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
#endif
#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
# define BOOST_NO_TEMPLATE_TEMPLATES
#endif
#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
# define BOOST_NO_IS_ABSTRACT
#endif
#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#endif
// See also kai.hpp which checks a Kai-specific symbol for EH
# if !defined(__KCC) && !defined(__EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
# endif
# if !defined(__NO_LONG_LONG)
# define BOOST_HAS_LONG_LONG
# endif
#ifdef c_plusplus
// EDG has "long long" in non-strict mode
// However, some libraries have insufficient "long long" support
// #define BOOST_HAS_LONG_LONG
#endif

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -16,3 +16,4 @@
// Nothing to do here?

View File

@@ -0,0 +1,49 @@
// Copyright (C) Christof Meerwald 2003
// Copyright (C) Dan Watkins 2003
//
// Use, modification and distribution are subject to 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)
// Digital Mars C++ compiler setup:
#define BOOST_COMPILER __DMC_VERSION_STRING__
#define BOOST_HAS_LONG_LONG
#define BOOST_HAS_PRAGMA_ONCE
#if (__DMC__ <= 0x833)
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#define BOOST_NO_TEMPLATE_TEMPLATES
#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
#endif
#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG)
#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#define BOOST_NO_OPERATORS_IN_NAMESPACE
#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
#define BOOST_NO_SFINAE
#define BOOST_NO_USING_TEMPLATE
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#endif
//
// has macros:
#if (__DMC__ >= 0x840)
#define BOOST_HAS_DIRENT_H
#define BOOST_HAS_STDINT_H
#define BOOST_HAS_WINTHREADS
#endif
// check for exception handling support:
#ifndef _CPPUNWIND
# define BOOST_NO_EXCEPTIONS
#endif
#if (__DMC__ < 0x840)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif

View File

@@ -1,17 +1,24 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001 - 2002.
// (C) Copyright Jens Maurer 2001 - 2002.
// (C) Copyright Beman Dawes 2001 - 2003.
// (C) Copyright Douglas Gregor 2002.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Synge Todo 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// GNU C++ compiler setup:
# if __GNUC__ == 2 && __GNUC_MINOR__ == 91
// egcs 1.1 won't parse smart_ptr.hpp without this:
#if __GNUC__ < 3
# if __GNUC_MINOR__ == 91
// egcs 1.1 won't parse shared_ptr.hpp without this:
# define BOOST_NO_AUTO_PTR
# endif
# if __GNUC__ == 2 && __GNUC_MINOR__ < 95
# if __GNUC_MINOR__ < 95
//
// Prior to gcc 2.95 member templates only partly
// work - define BOOST_MSVC6_MEMBER_TEMPLATES
@@ -23,24 +30,59 @@
# endif
# endif
# if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
# if __GNUC_MINOR__ < 96
# define BOOST_NO_SFINAE
# endif
# if __GNUC_MINOR__ <= 97
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_OPERATORS_IN_NAMESPACE
# endif
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# define BOOST_NO_IS_ABSTRACT
#elif __GNUC__ == 3
//
// gcc-3.x problems:
//
// Bug specific to gcc 3.1 and 3.2:
//
# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2))
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# endif
# if __GNUC_MINOR__ < 4
# define BOOST_NO_IS_ABSTRACT
# endif
#endif
#ifndef __EXCEPTIONS
# define BOOST_NO_EXCEPTIONS
#endif
//
// Threading support:
// Turn this on unconditionally here, it will get turned off again later
// if no threading API is detected.
// Threading support: Turn this on unconditionally here (except for
// those platforms where we can know for sure). It will get turned off again
// later if no threading API is detected.
//
#define BOOST_HAS_THREADS
#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
# define BOOST_HAS_THREADS
#endif
//
// gcc has "long long"
//
#define BOOST_HAS_LONG_LONG
#define BOOST_COMPILER "GNU C++ version " BOOST_STRINGIZE(__GNUC__) "." BOOST_STRINGIZE(__GNUC_MINOR__)
//
// gcc implements the named return value optimization since version 3.1
//
#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 )
#define BOOST_HAS_NRVO
#endif
#define BOOST_COMPILER "GNU C++ version " __VERSION__
//
// versions check:
@@ -49,11 +91,15 @@
# error "Compiler not configured - please reconfigure"
#endif
//
// last known and checked version is 3.0:
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 0))
// last known and checked version is 4.0 (Pre-release):
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 0))
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
# warning "Unknown compiler version - please run the configure tests and report the results"
// we don't emit warnings here anymore since there are no defect macros defined for
// gcc post 3.4, so any failures are gcc regressions...
//# warning "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -25,3 +25,4 @@
# endif
#endif

View File

@@ -1,7 +1,11 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
// (C) Copyright Aleksey Gurtovoy 2002.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Toon Knapen 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -16,13 +20,35 @@
# endif
#endif
#if (__HP_aCC <= 33300) || !defined(BOOST_STRICT_CONFIG)
#if (__HP_aCC <= 33300)
// member templates are sufficiently broken that we disable them for now
# define BOOST_NO_MEMBER_TEMPLATES
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
#endif
#if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
# define BOOST_NO_TEMPLATE_TEMPLATES
# define BOOST_NO_SWPRINTF
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
# define BOOST_NO_IS_ABSTRACT
// std lib config should set this one already:
//# define BOOST_NO_STD_ALLOCATOR
#endif
// optional features rather than defects:
#if (__HP_aCC >= 33900)
# define BOOST_HAS_LONG_LONG
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#endif
#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
#endif
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
//
@@ -33,9 +59,12 @@
#endif
//
// last known and checked version is 0:
#if (__HP_aCC > 33300)
#if (__HP_aCC > 53800)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
#endif

View File

@@ -1,7 +1,14 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright Peter Dimov 2001.
// (C) Copyright Jens Maurer 2001.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
// (C) Copyright Guillaume Melquiond 2002 - 2003.
// (C) Copyright Beman Dawes 2003.
// (C) Copyright Martin Wille 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -9,44 +16,122 @@
#include "boost/config/compiler/common_edg.hpp"
#ifdef __ICL
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(__ICL)
#if defined(__INTEL_COMPILER)
# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
#elif defined(__ICL)
# define BOOST_INTEL_CXX_VERSION __ICL
#else
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(__ICC)
#elif defined(__ICC)
# define BOOST_INTEL_CXX_VERSION __ICC
#elif defined(__ECC)
# define BOOST_INTEL_CXX_VERSION __ECC
#endif
#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
#if defined(_WIN32) || defined(_WIN64)
# define BOOST_INTEL_WIN BOOST_INTEL
#else
# define BOOST_INTEL_LINUX BOOST_INTEL
#endif
#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER)
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# define BOOST_NO_TEMPLATE_TEMPLATES
#endif
#if (BOOST_INTEL_CXX_VERSION <= 600) || !defined(BOOST_STRICT_CONFIG)
#if (BOOST_INTEL_CXX_VERSION <= 600)
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
// Boost libraries assume strong standard conformance unless otherwise
// indicated by a config macro. As configured by Intel, the EDG front-end
// requires certain compiler options be set to achieve that strong conformance.
// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)
// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for
// details as they apply to particular versions of the compiler. When the
// compiler does not predefine a macro indicating if an option has been set,
// this config file simply assumes the option has been set.
// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
// the compiler option is not enabled.
# if defined(_MSC_VER)
// Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup
// in the frontend even in "strict" mode, unless you use
// -Qoption,cpp,--arg_dep_lookup. (reported by Kirk Klobe & Thomas Witt)
// Similarly, -Qoption,cpp,--new_for_init enables new-style "for" loop
// variable scoping. (reported by Thomas Witt)
// Intel C++ 6.0 (currently in Beta test) doesn't have any front-end
// changes at all. (reported by Kirk Klobe)
# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
# define BOOST_NO_SWPRINTF
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# endif
// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
# if defined(_MSC_VER) && (_MSC_VER <= 1200)
# define BOOST_NO_VOID_RETURNS
# define BOOST_NO_INTEGRAL_INT64_T
# endif
#endif
#ifdef _MSC_VER
# ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
#endif
// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
#if BOOST_INTEL_CXX_VERSION < 600
# define BOOST_NO_INTRINSIC_WCHAR_T
#else
// We should test the macro _WCHAR_T_DEFINED to check if the compiler
// supports wchar_t natively. *BUT* there is a problem here: the standard
// headers define this macro if they typedef wchar_t. Anyway, we're lucky
// because they define it without a value, while Intel C++ defines it
// to 1. So we can check its value to see if the macro was defined natively
// or not.
// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T
// is used instead.
# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)
# define BOOST_NO_INTRINSIC_WCHAR_T
# endif
#endif
#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
//
// Figure out when Intel is emulating this gcc bug:
//
# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL <= 900)
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
# endif
#endif
//
// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T
// set correctly, if we don't do this now, we will get errors later
// in type_traits code among other things, getting this correct
// for the Intel compiler is actually remarkably fragile and tricky:
//
#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
#include <cwchar>
template< typename T > struct assert_no_intrinsic_wchar_t;
template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };
// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T
// where it is defined above:
typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;
#else
template< typename T > struct assert_intrinsic_wchar_t;
template<> struct assert_intrinsic_wchar_t<wchar_t> {};
// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
template<> struct assert_intrinsic_wchar_t<unsigned short> {};
#endif
#if _MSC_VER+0 >= 1000
# if _MSC_VER >= 1200
# define BOOST_HAS_MS_INT64
# endif
# define BOOST_NO_SWPRINTF
#elif defined(_WIN32)
# define BOOST_DISABLE_WIN32
#endif
// I checked version 6.0 build 020312Z, it implements the NRVO.
// Correct this as you find out which version of the compiler
// implemented the NRVO first. (Daniel Frey)
#if (BOOST_INTEL_CXX_VERSION >= 600)
# define BOOST_HAS_NRVO
#endif
//
// versions check:
@@ -55,15 +140,16 @@
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 500:
#if (BOOST_INTEL_CXX_VERSION > 500)
// last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 900)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# elif defined(_MSC_VER)
# warning "Unknown compiler version - please run the configure tests and report the results"
# pragma message("Unknown compiler version - please run the configure tests and report the results")
# endif
#endif

View File

@@ -1,7 +1,9 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright David Abrahams 2002.
// (C) Copyright Aleksey Gurtovoy 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -14,6 +16,11 @@
# define BOOST_NO_STDC_NAMESPACE
# endif
// see also common_edg.hpp which needs a special check for __KCC
# if !defined(_EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
# endif
#define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION)
//
@@ -25,3 +32,4 @@
#endif

View File

@@ -1,12 +1,22 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Peter Dimov 2001.
// (C) Copyright David Abrahams 2001 - 2002.
// (C) Copyright Beman Dawes 2001 - 2003.
// (C) Copyright Stefan Slapeta 2004.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// Metrowerks C++ compiler setup:
// locale support is disabled when linking with the dynamic runtime
# ifdef _MSL_NO_LOCALE
# define BOOST_NO_STD_LOCALE
# endif
# if __MWERKS__ <= 0x2301 // 5.3
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
# define BOOST_NO_POINTER_TO_MEMBER_CONST
@@ -18,16 +28,59 @@
//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
# endif
# if(__MWERKS__ <= 0x2405) || !defined(BOOST_STRICT_CONFIG) // 7.0
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# if(__MWERKS__ <= 0x2407) // 7.x
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
# endif
# if(__MWERKS__ <= 0x3003) // 8.x
# define BOOST_NO_SFINAE
# endif
// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
// tested version *only*:
# if(__MWERKS__ <= 0x3206) || !defined(BOOST_STRICT_CONFIG) // 9.5
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_IS_ABSTRACT
# endif
#if !__option(wchar_type)
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
#if !__option(exceptions)
# define BOOST_NO_EXCEPTIONS
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(__MWERKS__)
#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
# if __MWERKS__ == 0x3000
# define BOOST_COMPILER_VERSION 8.0
# elif __MWERKS__ == 0x3001
# define BOOST_COMPILER_VERSION 8.1
# elif __MWERKS__ == 0x3002
# define BOOST_COMPILER_VERSION 8.2
# elif __MWERKS__ == 0x3003
# define BOOST_COMPILER_VERSION 8.3
# elif __MWERKS__ == 0x3200
# define BOOST_COMPILER_VERSION 9.0
# elif __MWERKS__ == 0x3201
# define BOOST_COMPILER_VERSION 9.1
# elif __MWERKS__ == 0x3202
# define BOOST_COMPILER_VERSION 9.2
# elif __MWERKS__ == 0x3204
# define BOOST_COMPILER_VERSION 9.3
# elif __MWERKS__ == 0x3205
# define BOOST_COMPILER_VERSION 9.4
# elif __MWERKS__ == 0x3206
# define BOOST_COMPILER_VERSION 9.5
# else
# define BOOST_COMPILER_VERSION __MWERKS__
# endif
#else
# define BOOST_COMPILER_VERSION __MWERKS__
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
//
// versions check:
@@ -36,8 +89,8 @@
# error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 0x2405:
#if (__MWERKS__ > 0x2405)
// last known and checked version:
#if (__MWERKS__ > 0x3205)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
@@ -48,3 +101,4 @@

View File

@@ -1,7 +1,8 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// (C) Copyright Aleksey Gurtovoy 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -47,3 +48,4 @@
# endif
#endif

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -11,6 +11,14 @@
#include "boost/config/compiler/common_edg.hpp"
//
// Threading support:
// Turn this on unconditionally here, it will get turned off again later
// if no threading API is detected.
//
#define BOOST_HAS_THREADS
//
// version check:
// probably nothing to do here?

View File

@@ -1,7 +1,11 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright Jens Maurer 2001 - 2003.
// (C) Copyright Peter Dimov 2002.
// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
// (C) Copyright David Abrahams 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -21,22 +25,48 @@
// wrong, especially where the value is computed
// from other constants (J Maddock 6th May 2001)
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# endif
# if (__SUNPRO_CC <= 0x530) || !defined(BOOST_STRICT_CONFIG)
// Although sunpro 5.2 supports the syntax for
// partial specialization, it often seems to
// bind to the wrong specialization. Better
// to disable it until suppport becomes more stable
// (J Maddock 6th May 2001).
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
# endif
# if (__SUNPRO_CC <= 0x530)
// Requesting debug info (-g) with Boost.Python results
// in an internal compiler error for "static const"
// initialized in-class.
// >> Assertion: (../links/dbg_cstabs.cc, line 611)
// while processing ../test.cpp at line 0.
// (Jens Maurer according to Gottfried Ganßauge 04 Mar 2002)
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
// SunPro 5.3 has better support for partial specialization,
// but breaks when compiling std::less<shared_ptr<T> >
// (Jens Maurer 4 Nov 2001).
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
// std::less specialization fixed as reported by George
// Heintzelman; partial specialization re-enabled
// (Peter Dimov 17 Jan 2002)
//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
// integral constant expressions with 64 bit numbers fail
# define BOOST_NO_INTEGRAL_INT64_T
# endif
# if (__SUNPRO_CC < 0x570)
# define BOOST_NO_TEMPLATE_TEMPLATES
// see http://lists.boost.org/MailArchives/boost/msg47184.php
// and http://lists.boost.org/MailArchives/boost/msg47220.php
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_SFINAE
# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
# define BOOST_NO_IS_ABSTRACT
# endif
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
//
@@ -46,8 +76,8 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 0x530:
#if (__SUNPRO_CC > 0x530)
// last known and checked version is 0x570:
#if (__SUNPRO_CC > 0x570)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
@@ -56,3 +86,5 @@

View File

@@ -1,13 +1,34 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Toon Knapen 2001 - 2003.
// (C) Copyright Lie-Quan Lee 2001.
// (C) Copyright Markus Schöpflin 2002 - 2003.
// (C) Copyright Beman Dawes 2002 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// Visual Age (IBM) C++ compiler setup:
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#if __IBMCPP__ <= 501
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
#endif
#if (__IBMCPP__ <= 502)
// Actually the compiler supports inclass member initialization but it
// requires a definition for the class member and it doesn't recognize
// it as an integral constant expression when used as a template argument.
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
#endif
#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES 1
#endif
//
// On AIX thread support seems to be indicated by _THREAD_SAFE:
@@ -16,7 +37,7 @@
# define BOOST_HAS_THREADS
#endif
#define BOOST_COMPILER "IBM Visual Age" BOOST_STRINGIZE(__IBMCPP__)
#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
//
// versions check:
@@ -25,8 +46,8 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 500:
#if (__IBMCPP__ > 500)
// last known and checked version is 600:
#if (__IBMCPP__ > 600)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif
@@ -34,3 +55,4 @@

View File

@@ -1,7 +1,12 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001 - 2002.
// (C) Copyright Peter Dimov 2001.
// (C) Copyright Aleksey Gurtovoy 2002.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Beman Dawes 2002 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -10,20 +15,30 @@
#define BOOST_MSVC _MSC_VER
// turn off the warnings before we #include anything
#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
#if _MSC_VER <= 1200 // 1200 == VC++ 6.0
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1200-1202 == eVC++4
# pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
# define BOOST_NO_VOID_RETURNS
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
// disable min/max macro defines on vc6:
//
#endif
#if (_MSC_VER <= 1300) || !defined(BOOST_STRICT_CONFIG) // VC7 Beta 2 or later
#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0
# if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
# endif
# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_PRIVATE_IN_AGGREGATE
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_INTEGRAL_INT64_T
# define BOOST_NO_DEDUCED_TYPENAME
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
// VC++ 6/7 has member templates but they have numerous problems including
// cases of silent failure, so for safety we define:
@@ -37,28 +52,104 @@
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
# define BOOST_NO_USING_TEMPLATE
# define BOOST_NO_SWPRINTF
//# define BOOST_NO_POINTER_TO_MEMBER_CONST
//
// disable min/max macros if defined:
//
# ifdef min
# undef min
# endif
# ifdef max
# undef max
# endif
// disable min/max macro defines on vc6:
//
# ifndef NOMINMAX
# define NOMINMAX
# define BOOST_NO_TEMPLATE_TEMPLATES
# define BOOST_NO_SFINAE
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
# define BOOST_NO_IS_ABSTRACT
// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)?
# if (_MSC_VER > 1200)
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
# endif
#endif
#if _MSC_VER < 1310 // 1310 == VC++ 7.1
# define BOOST_NO_SWPRINTF
#endif
#if _MSC_VER <= 1400 // 1400 == VC++ 8.0
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
#endif
#ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(_MSC_VER)
#ifdef _WIN32_WCE
# define BOOST_NO_THREADEX
# define BOOST_NO_GETSYSTEMTIMEASFILETIME
#endif
//
// check for exception handling support:
#ifndef _CPPUNWIND
# define BOOST_NO_EXCEPTIONS
#endif
//
// __int64 support:
//
#if (_MSC_VER >= 1200)
# define BOOST_HAS_MS_INT64
#endif
#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS)
# define BOOST_HAS_LONG_LONG
#endif
//
// disable Win32 API's if compiler extentions are
// turned off:
//
#ifndef _MSC_EXTENSIONS
# define BOOST_DISABLE_WIN32
#endif
//
// all versions support __declspec:
//
#define BOOST_HAS_DECLSPEC
//
// prefix and suffix headers:
//
#ifndef BOOST_ABI_PREFIX
# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
#endif
#ifndef BOOST_ABI_SUFFIX
# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
#endif
// TODO:
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
// artificial versions assigned to them only refer to the versions of some IDE
// these compilers have been shipped with, and even that is not all of it. Some
// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
// IOW, you can't use these 'versions' in any sensible way. Sorry.
# if defined(UNDER_CE)
# if _MSC_VER < 1200
// Note: these are so far off, they are not really supported
# elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202
# define BOOST_COMPILER_VERSION evc4.0
# error unknown CE compiler
# else
# error unknown CE compiler
# endif
# else
# if _MSC_VER < 1200
// Note: these are so far off, they are not really supported
# define BOOST_COMPILER_VERSION 5.0
# elif _MSC_VER < 1300
# define BOOST_COMPILER_VERSION 6.0
# elif _MSC_VER == 1300
# define BOOST_COMPILER_VERSION 7.0
# elif _MSC_VER == 1310
# define BOOST_COMPILER_VERSION 7.1
# elif _MSC_VER == 1400
# define BOOST_COMPILER_VERSION 8.0
# else
# define BOOST_COMPILER_VERSION _MSC_VER
# endif
# endif
#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
//
// versions check:
@@ -67,12 +158,11 @@
#error "Compiler not supported or configured - please reconfigure"
#endif
//
// last known and checked version is 1300:
#if (_MSC_VER > 1300)
// last known and checked version is 1400 (VC8):
#if (_MSC_VER > 1400)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else
# warning "Unknown compiler version - please run the configure tests and report the results"
# pragma message("Unknown compiler version - please run the configure tests and report the results")
# endif
#endif

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -10,15 +10,24 @@
#define BOOST_PLATFORM "IBM Aix"
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_NL_TYPES_H
#define BOOST_HAS_NANOSLEEP
#define BOOST_HAS_CLOCK_GETTIME
// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
// This platform has header named <inttypes.h> which includes all
// the things needed.
#define BOOST_HAS_STDINT_H
// Threading API's:
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_PTHREAD_DELAY_NP
#define BOOST_HAS_PTHREAD_YIELD
#define BOOST_HAS_SCHED_YIELD
//#define BOOST_HAS_PTHREAD_YIELD
// boilerplate code:
#include <boost/config/posix_features.hpp>

View File

@@ -0,0 +1,15 @@
// (C) Copyright John Maddock 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
#define BOOST_PLATFORM "AmigaOS"
#define BOOST_DISABLE_THREADS
#define BOOST_NO_CWCHAR
#define BOOST_NO_STD_WSTRING
#define BOOST_NO_INTRINSIC_WCHAR_T

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -23,3 +23,4 @@
#include <boost/config/posix_features.hpp>

View File

@@ -1,13 +1,15 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Douglas Gregor 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// generic BSD config options:
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
#error "This platform is not BSD"
#endif
@@ -17,26 +19,39 @@
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
#elif defined(__OpenBSD__)
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
#elif defined(__DragonFly__)
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
#endif
//
// is this the correct version check?
// FreeBSD has <nl_type.h> but does not
// FreeBSD has <nl_types.h> but does not
// advertise the fact in <unistd.h>:
//
#if defined(__FreeBSD__) && (__FreeBSD__ >= 4)
#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__)
# define BOOST_HAS_NL_TYPES_H
#endif
//
// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
// and not in <unistd.h>
//
#if defined(__FreeBSD__) && (__FreeBSD__ <= 3)
# define BOOST_HAS_PTHREADS
#endif
//
// No wide character support in the BSD header files:
//
#define BOOST_NO_CWCHAR
#if !(defined(__FreeBSD__) && (__FreeBSD__ >= 5))
# define BOOST_NO_CWCHAR
#endif
//
// The BSD <ctype.h> has macros only, no functions:
//
#define BOOST_NO_CTYPE_FUNCTIONS
#if !defined(__OpenBSD__)
# define BOOST_NO_CTYPE_FUNCTIONS
#endif
//
// thread API's not auto detected:
@@ -45,9 +60,14 @@
#define BOOST_HAS_NANOSLEEP
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#define BOOST_HAS_SIGACTION
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -11,6 +11,7 @@
#define BOOST_NO_CWCTYPE
#define BOOST_NO_CWCHAR
#define BOOST_NO_SWPRINTF
#define BOOST_HAS_DIRENT_H
//
// Threading API:
@@ -23,6 +24,7 @@
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_SIGACTION
#else
# if !defined(BOOST_HAS_WINTHREADS)
# define BOOST_HAS_WINTHREADS
@@ -30,8 +32,17 @@
# define BOOST_HAS_FTIME
#endif
//
// find out if we have a stdint.h, there should be a better way to do this:
//
#include <sys/types.h>
#ifdef _STDINT_H
#define BOOST_HAS_STDINT_H
#endif
// boilerplate code:
#include <boost/config/posix_features.hpp>

View File

@@ -1,7 +1,10 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
// (C) Copyright David Abrahams 2002.
// (C) Copyright Toon Knapen 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -18,11 +21,48 @@
#define BOOST_NO_SWPRINTF
#define BOOST_NO_CWCTYPE
#if defined(__GNUC__)
# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3))
// GNU C on HP-UX does not support threads (checked up to gcc 3.3)
# define BOOST_DISABLE_THREADS
# elif !defined(BOOST_DISABLE_THREADS)
// threads supported from gcc-3.3 onwards:
# define BOOST_HAS_THREADS
# define BOOST_HAS_PTHREADS
# endif
#endif
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>
// the following are always available:
#ifndef BOOST_HAS_GETTIMEOFDAY
// gettimeofday is always available
#define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_GETTIMEOFDAY
#endif
#ifndef BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_SCHED_YIELD
#endif
#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#endif
#ifndef BOOST_HAS_NL_TYPES_H
# define BOOST_HAS_NL_TYPES_H
#endif
#ifndef BOOST_HAS_NANOSLEEP
# define BOOST_HAS_NANOSLEEP
#endif
#ifndef BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_GETTIMEOFDAY
#endif
#ifndef BOOST_HAS_DIRENT_H
# define BOOST_HAS_DIRENT_H
#endif
#ifndef BOOST_HAS_CLOCK_GETTIME
# define BOOST_HAS_CLOCK_GETTIME
#endif
#ifndef BOOST_HAS_SIGACTION
# define BOOST_HAS_SIGACTION
#endif

View File

@@ -1,7 +1,9 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -10,8 +12,20 @@
#define BOOST_PLATFORM "SGI Irix"
#define BOOST_NO_SWPRINTF
//
// these are not auto detected by POSIX feature tests:
//
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#ifdef __GNUC__
// GNU C on IRIX does not support threads (checked up to gcc 3.3)
# define BOOST_DISABLE_THREADS
#endif
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>

View File

@@ -1,7 +1,8 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -25,6 +26,22 @@
# endif
#endif
#if defined(__LIBCOMO__)
//
// como on linux doesn't have std:: c functions:
// NOTE: versions of libcomo prior to beta28 have octal version numbering,
// e.g. version 25 is 21 (dec)
//
# if __LIBCOMO_VERSION__ <= 20
# define BOOST_NO_STDC_NAMESPACE
# endif
# if __LIBCOMO_VERSION__ <= 21
# define BOOST_NO_SWPRINTF
# endif
#endif
//
// If glibc is past version 2 then we definitely have
// gettimeofday, earlier versions may or may not have it:
@@ -78,3 +95,4 @@
# endif
#endif

View File

@@ -1,7 +1,9 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001 - 2002.
// (C) Copyright Bill Kempf 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -9,29 +11,35 @@
#define BOOST_PLATFORM "Mac OS"
// If __MACH__, we're using the BSD standard C library, not the MSL:
#if defined(__MACH__)
#if __MACH__ && !defined(_MSL_USING_MSL_C)
// Using the Mac OS X system BSD-style C library.
# define BOOST_NO_CTYPE_FUNCTIONS
# define BOOST_NO_CWCHAR
# ifndef BOOST_HAS_UNISTD_H
# define BOOST_HAS_UNISTD_H
# endif
// boilerplate code:
//
// Begin by including our boilerplate code for POSIX
// feature detection, this is safe even when using
// the MSL as Metrowerks supply their own <unistd.h>
// to replace the platform-native BSD one. G++ users
// should also always be able to do this on MaxOS X.
//
# include <boost/config/posix_features.hpp>
# ifndef BOOST_HAS_STDINT_H
# define BOOST_HAS_STDINT_H
# endif
//
// BSD runtime has pthreads, sched_yield and gettimeofday,
// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday,
// of these only pthreads are advertised in <unistd.h>, so set the
// other options explicitly:
//
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_SIGACTION
# ifndef __APPLE_CC__
# if (__GNUC__ < 3) && !defined( __APPLE_CC__)
// GCC strange "ignore std" mode works better if you pretend everything
// is in the std namespace, for the most part.
@@ -39,5 +47,32 @@
# define BOOST_NO_STDC_NAMESPACE
# endif
#else
// Using the MSL C library.
// We will eventually support threads in non-Carbon builds, but we do
// not support this yet.
# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON )
# if !defined(BOOST_HAS_PTHREADS)
# define BOOST_HAS_MPTASKS
# elif ( __dest_os == __mac_os_x )
// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the
// gettimeofday and no posix.
# define BOOST_HAS_GETTIMEOFDAY
# endif
// The MP task implementation of Boost Threads aims to replace MP-unsafe
// parts of the MSL, so we turn on threads unconditionally.
# define BOOST_HAS_THREADS
// The remote call manager depends on this.
# define BOOST_BIND_ENABLE_PASCAL
# endif
#endif

View File

@@ -1,13 +1,14 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// sun specific config options:
#define BOOST_PLATFORM "sun"
#define BOOST_PLATFORM "Sun Solaris"
#define BOOST_HAS_GETTIMEOFDAY
@@ -17,3 +18,4 @@

View File

@@ -1,7 +1,10 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Bill Kempf 2001.
// (C) Copyright Aleksey Gurtovoy 2003.
// (C) Copyright Rene Rivera 2005.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -9,28 +12,47 @@
#define BOOST_PLATFORM "Win32"
#if defined BOOST_DECL_EXPORTS
# if defined BOOST_DECL_IMPORTS
# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
# endif
# define BOOST_DECL __declspec(dllexport)
#elif defined BOOST_DECL_IMPORTS
# define BOOST_DECL __declspec(dllimport)
#else
# define BOOST_DECL
// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.
#if defined(__MINGW32__)
# include <_mingw.h>
#endif
#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)
# define BOOST_NO_SWPRINTF
#endif
#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC)
# define BOOST_HAS_DECLSPEC
#endif
#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
# define BOOST_HAS_STDINT_H
# define __STDC_LIMIT_MACROS
# define BOOST_HAS_DIRENT_H
# define BOOST_HAS_UNISTD_H
#endif
//
// Win32 will normally be using native Win32 threads,
// but there is a pthread library avaliable as an option:
// but there is a pthread library avaliable as an option,
// we used to disable this when BOOST_DISABLE_WIN32 was
// defined but no longer - this should allow some
// files to be compiled in strict mode - while maintaining
// a consistent setting of BOOST_HAS_THREADS across
// all translation units (needed for shared_ptr etc).
//
#ifdef _WIN32_WCE
# define BOOST_NO_ANSI_APIS
#endif
#ifndef BOOST_HAS_PTHREADS
# define BOOST_HAS_WINTHREADS
#endif
#ifndef BOOST_DISABLE_WIN32
// WEK: Added
#define BOOST_HAS_FTIME
#define BOOST_WINDOWS 1
#endif

View File

@@ -1,13 +1,20 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// All POSIX feature tests go in this file:
// All POSIX feature tests go in this file,
// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well
// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's
// may be present but none-functional unless _POSIX_C_SOURCE and
// _XOPEN_SOURCE have been defined to the right value (it's up
// to the user to do this *before* including any header, although
// in most cases the compiler will do this for you).
# ifdef BOOST_HAS_UNISTD_H
# if defined(BOOST_HAS_UNISTD_H)
# include <unistd.h>
// XOpen has <nl_types.h>, but is this the correct version check?
@@ -20,13 +27,22 @@
# define BOOST_HAS_STDINT_H
# endif
// POSIX version 2 requires <dirent.h>
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
# define BOOST_HAS_DIRENT_H
# endif
// POSIX version 3 requires <signal.h> to have sigaction:
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
# define BOOST_HAS_SIGACTION
# endif
// POSIX defines _POSIX_THREADS > 0 for pthread support,
// however some platforms define _POSIX_THREADS without
// a value, hence the (_POSIX_THREADS+0 >= 0) check.
// Strictly speaking this may catch platforms with a
// non-functioning stub <pthreads.h>, but such occurrences should
// occur very rarely if at all.
# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
# define BOOST_HAS_PTHREADS
# endif
@@ -58,9 +74,14 @@
// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
// These are predicated on _XOPEN_VERSION, and appears to be first released
// in issue 4, version 2 (_XOPEN_VERSION > 500).
# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 > 500)
# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# endif
# endif
# endif

View File

@@ -0,0 +1,92 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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 BOOST_CONFIG_REQUIRES_THREADS_HPP
#define BOOST_CONFIG_REQUIRES_THREADS_HPP
#ifndef BOOST_CONFIG_HPP
# include <boost/config.hpp>
#endif
#if defined(BOOST_DISABLE_THREADS)
//
// special case to handle versions of gcc which don't currently support threads:
//
#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG))
//
// this is checked up to gcc 3.3:
//
#if defined(__sgi) || defined(__hpux)
# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)"
#endif
#endif
# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"
#elif !defined(BOOST_HAS_THREADS)
# if defined __COMO__
// Comeau C++
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)"
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
// Intel
#ifdef _WIN32
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
#else
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp"
#endif
# elif defined __GNUC__
// GNU C++:
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
#elif defined __sgi
// SGI MIPSpro C++
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE"
#elif defined __DECCXX
// Compaq Tru64 Unix cxx
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread"
#elif defined __BORLANDC__
// Borland
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM"
#elif defined __MWERKS__
// Metrowerks CodeWarrior
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd"
#elif defined __SUNPRO_CC
// Sun Workshop Compiler C++
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
#elif defined __HP_aCC
// HP aCC
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt"
#elif defined(__IBMCPP__)
// IBM Visual Age
# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler"
#elif defined _MSC_VER
// Microsoft Visual C++
//
// Must remain the last #elif since some other vendors (Metrowerks, for
// example) also #define _MSC_VER
# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd"
#else
# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use"
#endif // compilers
#endif // BOOST_HAS_THREADS
#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP

View File

@@ -1,16 +1,30 @@
// Boost compiler configuration selection header file
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Martin Wille 2003.
// (C) Copyright Guillaume Melquiond 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// locate which compiler we are using and define
// BOOST_COMPILER_CONFIG as needed:
#if defined __GNUC__
# if defined __COMO__
// Comeau C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
#elif defined __DMC__
// Digital Mars C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
// Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
# elif defined __GNUC__
// GNU C++:
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
@@ -34,10 +48,6 @@
// Borland
# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
#elif defined(__ICL) || defined(__ICC)
// Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
#elif defined __MWERKS__
// Metrowerks CodeWarrior
# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"
@@ -58,10 +68,6 @@
// IBM Visual Age
# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
# elif defined __COMO__
// Comeau C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
#elif defined _MSC_VER
// Microsoft Visual C++
//
@@ -72,6 +78,6 @@
#elif defined (BOOST_ASSERT_CONFIG)
// this must come last - generate an error if we don't
// recognise the compiler:
# error "Unknown compiler - please configure and report the results to boost.org"
# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"
#endif

View File

@@ -1,9 +1,10 @@
// Boost compiler configuration selection header file
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// (C) Copyright Jens Maurer 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -16,7 +17,7 @@
// linux:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
// BSD:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
@@ -48,10 +49,14 @@
// MacOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
#elif defined(__IBMCPP__)
#elif defined(__IBMCPP__) || defined(_AIX)
// IBM
# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
#elif defined(__amigaos__)
// AmigaOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
#else
# if defined(unix) \
@@ -78,3 +83,4 @@
#endif

View File

@@ -1,9 +1,11 @@
// Boost compiler configuration selection header file
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001 - 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -23,15 +25,15 @@
// can end up detecting that first rather than STLport:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
#elif defined(__LIBCOMO__)
// Comeau STL:
#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
// Rogue Wave library:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
// Dinkumware Library:
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
#elif defined(__GLIBCPP__)
#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
// GNU libstdc++ 3
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
@@ -51,6 +53,10 @@
// Modena C++ standard library
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"
#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
// Dinkumware Library (this has to appear after any possible replacement libraries):
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
#elif defined (BOOST_ASSERT_CONFIG)
// this must come last - generate an error if we don't
// recognise the library:
@@ -59,3 +65,4 @@
#endif

View File

@@ -1,7 +1,11 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001.
// (C) Copyright Peter Dimov 2001.
// (C) Copyright David Abrahams 2002.
// (C) Copyright Guillaume Melquiond 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -18,18 +22,27 @@
#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
// full dinkumware 3.06 and above
// fully conforming provided the compiler supports it:
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD) // can be defined in yvals.h
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h
# define BOOST_NO_STDC_NAMESPACE
# endif
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0))
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
# define BOOST_NO_STD_ALLOCATOR
# endif
# if defined(_MSC_VER) && (_MSC_VER < 1300)
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
// if this lib version is set up for vc6 then there is no std::use_facet:
# define BOOST_NO_STD_USE_FACET
# define BOOST_HAS_TWO_ARG_USE_FACET
// C lib functions aren't in namespace std either:
# define BOOST_NO_STDC_NAMESPACE
// and nor is <exception>
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
# endif
// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
// There's no numeric_limits<long long> support unless _LONGLONG is defined:
# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# endif
// 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
// and no <slist> at all
#else
# define BOOST_MSVC_STD_ITERATOR 1
@@ -44,22 +57,39 @@
// Updated Dinkum library defines this, and provides
// its own min and max definitions.
# define BOOST_NO_STD_MIN_MAX
# undef min
# undef max
# endif
# ifndef NOMINMAX
// avoid spurious NOMINMAX redefinition warning
# define NOMINMAX
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# endif
#endif
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
//
// std extension namespace is stdext for vc7.1 and later,
// the same applies to other compilers that sit on top
// of vc7.1 (Intel and Comeau):
//
#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
# define BOOST_STD_EXTENSION_NAMESPACE stdext
#endif
#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
// if we're using a dinkum lib that's
// been configured for VC6 then there is
// been configured for VC6/7 then there is
// no iterator traits (true even for icl)
# define BOOST_NO_STD_ITERATOR_TRAITS
#endif
#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
// Intel C++ chokes over any non-trivial use of <locale>
// this may be an overly restrictive define, but regex fails without it:
# define BOOST_NO_STD_LOCALE
#endif
#ifdef _CPPLIB_VER
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
#else
# define BOOST_DINKUMWARE_STDLIB 1
#endif
#ifdef _CPPLIB_VER
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
#else
@@ -69,3 +99,8 @@

View File

@@ -0,0 +1,46 @@
// (C) Copyright John Maddock 2002 - 2003.
// (C) Copyright Jens Maurer 2002 - 2003.
// (C) Copyright Beman Dawes 2002 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// Comeau STL:
#if !defined(__LIBCOMO__)
# include <utility>
# if !defined(__LIBCOMO__)
# error "This is not the Comeau STL!"
# endif
#endif
//
// std::streambuf<wchar_t> is non-standard
// NOTE: versions of libcomo prior to beta28 have octal version numbering,
// e.g. version 25 is 21 (dec)
#if __LIBCOMO_VERSION__ <= 22
# define BOOST_NO_STD_WSTREAMBUF
#endif
#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32)
#define BOOST_NO_SWPRINTF
#endif
#if __LIBCOMO_VERSION__ >= 31
# define BOOST_HAS_HASH
# define BOOST_HAS_SLIST
#endif
//
// Intrinsic type_traits support.
// The SGI STL has it's own __type_traits class, which
// has intrinsic compiler support with SGI's compilers.
// Whatever map SGI style type traits to boost equivalents:
//
#define BOOST_HAS_SGI_TYPE_TRAITS
#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)

View File

@@ -1,24 +1,64 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright Jens Maurer 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
// config for libstdc++ v3
// not much to go in here:
#ifdef __GLIBCXX__
#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__)
#else
#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__)
#endif
#ifndef _GLIBCPP_USE_WCHAR_T
#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T)
# define BOOST_NO_CWCHAR
# define BOOST_NO_CWCTYPE
# define BOOST_NO_STD_WSTRING
# define BOOST_NO_STD_WSTREAMBUF
#endif
#if defined(__osf__) && !defined(_REENTRANT) \
&& ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) )
// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header
// file is included, therefore for consistency we define it here as well.
# define _REENTRANT
#endif
#ifdef __GLIBCXX__ // gcc 3.4 and greater:
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
|| defined(_GLIBCXX__PTHREADS)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
// while others do not...
//
# define BOOST_HAS_THREADS
# else
# define BOOST_DISABLE_THREADS
# endif
#elif defined(__GLIBCPP__) \
&& !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \
&& !defined(_GLIBCPP__PTHREADS)
// disable thread support if the std lib was built single threaded:
# define BOOST_DISABLE_THREADS
#endif
#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT)
// linux on arm apparently doesn't define _REENTRANT
// so just turn on threading support whenever the std lib is thread safe:
# define BOOST_HAS_THREADS
#endif
#ifndef _GLIBCPP_USE_LONG_LONG
#if !defined(_GLIBCPP_USE_LONG_LONG) \
&& !defined(_GLIBCXX_USE_LONG_LONG)\
&& defined(BOOST_HAS_LONG_LONG)
// May have been set by compiler/*.hpp, but "long long" without library
// support is useless.
# undef BOOST_HAS_LONG_LONG
#endif

View File

@@ -1,7 +1,7 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright Jens Maurer 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -27,3 +27,4 @@

View File

@@ -1,7 +1,8 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// (C) Copyright Darin Adler 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -29,15 +30,22 @@
#if defined(__MSL__) && (__MSL__ >= 0x5000)
# define BOOST_HAS_STDINT_H
# define BOOST_HAS_UNISTD_H
# if !defined(__PALMOS_TRAPS__)
# define BOOST_HAS_UNISTD_H
# endif
// boilerplate code:
# include <boost/config/posix_features.hpp>
#endif
#if _MWMT
#if defined(_MWMT) || _MSL_THREADSAFE
# define BOOST_HAS_THREADS
#endif
#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG
# define BOOST_NO_STD_USE_FACET
# define BOOST_HAS_TWO_ARG_USE_FACET
#endif
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
@@ -48,3 +56,4 @@

View File

@@ -1,7 +1,9 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Jens Maurer 2001.
// (C) Copyright David Abrahams 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -39,6 +41,19 @@
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
#endif
// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
# endif
//
// Borland version of numeric_limits lacks __int64 specialisation:
//
#ifdef __BORLANDC__
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
#endif
//
// No std::iterator if it can't figure out default template args:
//
@@ -104,4 +119,9 @@
# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
#endif
//
// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
//
#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
# undef BOOST_HAS_LONG_LONG
#endif

View File

@@ -1,7 +1,9 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Jens Maurer 2001 - 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -56,7 +58,7 @@
//
// SGI's new iostreams have missing "const" in messages<>::open
//
#if defined(__sgi) && (_COMPILER_VERSION <= 730) && defined(__STL_USE_NEW_IOSTREAMS)
#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)
# define BOOST_NO_STD_MESSAGES
#endif
@@ -82,6 +84,8 @@
# include <string>
# if defined(__BASTRING__)
# define BOOST_NO_LIMITS
// Note: <boost/limits.hpp> will provide compile-time constants
# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_NO_STD_WSTRING
# endif
#endif
@@ -103,3 +107,5 @@
#define BOOST_STDLIB "SGI standard library"

View File

@@ -1,7 +1,9 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Jens Maurer 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -49,11 +51,14 @@
// If the streams are not native, and we have a "using ::x" compiler bug
// then the io stream facets are not available in namespace std::
//
#if !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE)
# define BOOST_NO_STD_LOCALE
#endif
#if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE)
# define BOOST_NO_STD_LOCALE
#ifdef _STLPORT_VERSION
# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
# define BOOST_NO_STD_LOCALE
# endif
#else
# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
# define BOOST_NO_STD_LOCALE
# endif
#endif
//
@@ -64,11 +69,32 @@
# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
# define BOOST_NO_STD_ALLOCATOR
#endif
//
// however we always have at least a partial allocator:
//
#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES)
#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE)
# define BOOST_NO_STD_ALLOCATOR
#endif
#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)
# define BOOST_NO_STD_ALLOCATOR
#endif
//
// If STLport thinks there is no wchar_t at all, then we have to disable
// the support for the relevant specilazations of std:: templates.
//
#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT)
# ifndef BOOST_NO_STD_WSTRING
# define BOOST_NO_STD_WSTRING
# endif
# ifndef BOOST_NO_STD_WSTREAMBUF
# define BOOST_NO_STD_WSTREAMBUF
# endif
#endif
//
// We always have SGI style hash_set, hash_map, and slist:
//
@@ -80,18 +106,42 @@
// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our
// workaround does not conflict with STLports:
//
#if defined(__STL_IMPORT_VENDOR_CSTD) || defined(__STL_USE_OWN_NAMESPACE) || defined(_STLP_IMPORT_VENDOR_CSTD) || defined(_STLP_USE_OWN_NAMESPACE)
# define BOOST_NO_STDC_NAMESPACE
//
// Harold Howe says:
// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with
// BCB6 does cause problems. If we detect C++ Builder, then don't define
// BOOST_NO_STDC_NAMESPACE
//
#if !defined(__BORLANDC__) && !defined(__DMC__)
//
// If STLport is using it's own namespace, and the real names are in
// the global namespace, then we duplicate STLport's using declarations
// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't
// necessarily import all the names we need into namespace std::
//
# if (defined(__STL_IMPORT_VENDOR_CSTD) \
|| defined(__STL_USE_OWN_NAMESPACE) \
|| defined(_STLP_IMPORT_VENDOR_CSTD) \
|| defined(_STLP_USE_OWN_NAMESPACE)) \
&& (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
# define BOOST_NO_STDC_NAMESPACE
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
# endif
#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560
// STLport doesn't import std::abs correctly:
#include <stdlib.h>
namespace std { using ::abs; }
// and strcmp/strcpy don't get imported either ('cos they are macros)
#include <string.h>
#ifdef strcpy
# undef strcpy
#endif
#ifdef strcmp
# undef strcmp
#endif
#ifdef _STLP_VENDOR_CSTD
namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; }
#endif
//
// std::reverse_iterate behaves like VC6's under some circumstances:
//
#if defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES) || defined (__STL_USE_OLD_HP_ITERATOR_QUERIES)\
|| (!defined ( _STLP_CLASS_PARTIAL_SPECIALIZATION ) && !defined ( __STL_CLASS_PARTIAL_SPECIALIZATION ))
// disable this for now, it causes too many problems, we need a better
// fix for broken reverse iterators:
// # define BOOST_MSVC_STD_ITERATOR
#endif
//
@@ -109,11 +159,43 @@
//
#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE)
# define BOOST_NO_CWCHAR
# define BOOST_NO_CWTYPE
# define BOOST_NO_CWCTYPE
#endif
//
// If STLport for some reason was configured so that it thinks that wchar_t
// is not an intrinsic type, then we have to disable the support for it as
// well (we would be missing required specializations otherwise).
//
#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT)
# undef BOOST_NO_INTRINSIC_WCHAR_T
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
//
// Borland ships a version of STLport with C++ Builder 6 that lacks
// hashtables and the like:
//
#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
# undef BOOST_HAS_HASH
#endif
//
// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max
//
#if defined(__GNUC__) && (__GNUC__ < 3)
# include <algorithm> // for std::min and std::max
# define BOOST_USING_STD_MIN() ((void)0)
# define BOOST_USING_STD_MAX() ((void)0)
namespace boost { using std::min; using std::max; }
#endif
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)

View File

@@ -1,13 +1,18 @@
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
#if __IBMCPP__ <= 501
# define BOOST_NO_STD_ALLOCATOR
#endif
#define BOOST_HAS_MACRO_USE_FACET
#define BOOST_NO_STD_ALLOCATOR
#define BOOST_NO_STD_MESSAGES
#define BOOST_STDLIB "Visual Age default standard library"

View File

@@ -1,9 +1,16 @@
// Boost config.hpp configuration header file ------------------------------//
// (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001 - 2003.
// (C) Copyright Darin Adler 2001.
// (C) Copyright Peter Dimov 2001.
// (C) Copyright Bill Kempf 2002.
// (C) Copyright Jens Maurer 2002.
// (C) Copyright David Abrahams 2002 - 2003.
// (C) Copyright Gennaro Prota 2003.
// (C) Copyright Eric Friedman 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org for most recent version.
@@ -17,10 +24,6 @@
#ifndef BOOST_CONFIG_SUFFIX_HPP
#define BOOST_CONFIG_SUFFIX_HPP
# ifndef BOOST_DECL
# define BOOST_DECL // default for compilers not needing this decoration.
# endif
//
// look for long long by looking for the appropriate macros in <limits.h>.
// Note that we use limits.h rather than climits for maximal portability,
@@ -28,11 +31,27 @@
// no namespace issues from this.
//
#include <limits.h>
# if !defined(BOOST_MSVC) && !defined(__BORLANDC__) \
# if !defined(BOOST_HAS_LONG_LONG) \
&& !defined(BOOST_MSVC) && !defined(__BORLANDC__) \
&& (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
# define BOOST_HAS_LONG_LONG
#endif
// TODO: Remove the following lines after the 1.33 release because the presence
// of an integral 64 bit type has nothing to do with support for long long.
#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(__DECCXX_VER)
# define BOOST_NO_INTEGRAL_INT64_T
#endif
// GCC 3.x will clean up all of those nasty macro definitions that
// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine
// it under GCC 3.x.
#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS)
# undef BOOST_NO_CTYPE_FUNCTIONS
#endif
//
// Assume any extensions are in namespace std:: unless stated otherwise:
//
@@ -55,8 +74,26 @@
# if defined(BOOST_NO_LIMITS) \
&& !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
# endif
//
// if there is no long long then there is no specialisation
// for numeric_limits<long long> either:
//
#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)
# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
#endif
//
// if there is no __int64 then there is no specialisation
// for numeric_limits<__int64> either:
//
#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
#endif
//
// if member templates are supported then so is the
// VC6 subset of member templates:
@@ -66,6 +103,22 @@
# define BOOST_MSVC6_MEMBER_TEMPLATES
# endif
//
// Without partial specialization, can't test for partial specialisation bugs:
//
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
# endif
//
// Without partial specialization, we can't have array-type partial specialisations:
//
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
# endif
//
// Without partial specialization, std::iterator_traits can't work:
//
@@ -94,6 +147,20 @@
# define BOOST_NO_STD_ALLOCATOR
# endif
//
// without ADL support then using declarations will break ADL as well:
//
#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#endif
//
// If we have a standard allocator, then we have a partial one as well:
//
#if !defined(BOOST_NO_STD_ALLOCATOR)
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
#endif
//
// We can't have a working std::use_facet if there is no std::locale:
//
@@ -108,6 +175,13 @@
# define BOOST_NO_STD_MESSAGES
# endif
//
// We can't have a working std::wstreambuf if there is no std::locale:
//
# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF)
# define BOOST_NO_STD_WSTREAMBUF
# endif
//
// We can't have a <cwctype> if there is no <cwchar>:
//
@@ -122,6 +196,16 @@
# define BOOST_NO_SWPRINTF
# endif
//
// If Win32 support is turned off, then we must turn off
// threading support also, unless there is some other
// thread API enabled:
//
#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \
&& !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS)
# define BOOST_DISABLE_THREADS
#endif
//
// Turn on threading support if the compiler thinks that it's in
// multithreaded mode. We put this here because there are only a
@@ -144,10 +228,22 @@
// Turn threading support off if we don't recognise the threading API:
//
#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\
&& !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)
&& !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\
&& !defined(BOOST_HAS_MPTASKS)
# undef BOOST_HAS_THREADS
#endif
//
// Turn threading detail macros off if we don't (want to) use threading
//
#ifndef BOOST_HAS_THREADS
# undef BOOST_HAS_PTHREADS
# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# undef BOOST_HAS_WINTHREADS
# undef BOOST_HAS_BETHREADS
# undef BOOST_HAS_MPTASKS
#endif
//
// If the compiler claims to be C99 conformant, then it had better
// have a <stdint.h>:
@@ -168,11 +264,22 @@
# define BOOST_NO_HASH
# endif
// BOOST_HAS_ABI_HEADERS
// This macro gets set if we have headers that fix the ABI,
// and prevent ODR violations when linking to external libraries:
#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS)
# define BOOST_HAS_ABI_HEADERS
#endif
#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS)
# undef BOOST_HAS_ABI_HEADERS
#endif
// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------//
// Because std::size_t usage is so common, even in boost headers which do not
// otherwise use the C library, the <cstddef> workaround is included here so
// that ugly workaround code need not appear in many other boost headers.
// NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>
// NOTE WELL: This is a workaround for non-conforming compilers; <cstddef>
// must still be #included in the usual places so that <cstddef> inclusion
// works as expected with standard conforming compilers. The resulting
// double inclusion of <cstddef> is harmless.
@@ -182,27 +289,31 @@
namespace std { using ::ptrdiff_t; using ::size_t; }
# endif
// Workaround for the unfortunate min/max macros defined by some platform headers
#define BOOST_PREVENT_MACRO_SUBSTITUTION
#ifndef BOOST_USING_STD_MIN
# define BOOST_USING_STD_MIN() using std::min
#endif
#ifndef BOOST_USING_STD_MAX
# define BOOST_USING_STD_MAX() using std::max
#endif
// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------//
# ifdef BOOST_NO_STD_MIN_MAX
namespace std {
template <class _Tp>
inline const _Tp& min(const _Tp& __a, const _Tp& __b) {
inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
return __b < __a ? __b : __a;
}
template <class _Tp>
inline const _Tp& max(const _Tp& __a, const _Tp& __b) {
inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) {
return __a < __b ? __b : __a;
}
# ifdef BOOST_MSVC
inline long min(long __a, long __b) {
return __b < __a ? __b : __a;
}
inline long max(long __a, long __b) {
return __a < __b ? __b : __a;
}
# endif
}
# endif
@@ -219,27 +330,33 @@ namespace std {
# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
# endif
// BOOST_USE_FACET workaround ----------------------------------------------//
// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------//
// When the standard library does not have a conforming std::use_facet there
// are various workarounds available, but they differ from library to library.
// This macro provides a consistent way to access a locale's facets.
// The same problem occurs with has_facet.
// These macros provide a consistent way to access a locale's facets.
// Usage:
// replace
// std::use_facet<Type>(loc);
// with
// BOOST_USE_FACET(Type, loc);
// Note do not add a std:: prefix to the front of BOOST_USE_FACET!
// Use for BOOST_HAS_FACET is analagous.
#if defined(BOOST_NO_STD_USE_FACET)
# ifdef BOOST_HAS_TWO_ARG_USE_FACET
# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast<Type*>(0))
# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast<Type*>(0))
# elif defined(BOOST_HAS_MACRO_USE_FACET)
# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type)
# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type)
# elif defined(BOOST_HAS_STLP_USE_FACET)
# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet<Type >(loc))
# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
# endif
#else
# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc)
# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc)
#endif
// BOOST_NESTED_TEMPLATE workaround ------------------------------------------//
@@ -258,6 +375,131 @@ namespace std {
# define BOOST_NESTED_TEMPLATE
#endif
// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------//
// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION
// is defined, in which case it evaluates to return x; Use when you have a return
// statement that can never be reached.
#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
# define BOOST_UNREACHABLE_RETURN(x) return x;
#else
# define BOOST_UNREACHABLE_RETURN(x)
#endif
// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
//
// Some compilers don't support the use of `typename' for dependent
// types in deduced contexts, e.g.
//
// template <class T> void f(T, typename T::type);
// ^^^^^^^^
// Replace these declarations with:
//
// template <class T> void f(T, BOOST_DEDUCED_TYPENAME T::type);
#ifndef BOOST_NO_DEDUCED_TYPENAME
# define BOOST_DEDUCED_TYPENAME typename
#else
# define BOOST_DEDUCED_TYPENAME
#endif
// long long workaround ------------------------------------------//
// On gcc (and maybe other compilers?) long long is alway supported
// but it's use may generate either warnings (with -ansi), or errors
// (with -pedantic -ansi) unless it's use is prefixed by __extension__
//
#if defined(BOOST_HAS_LONG_LONG)
namespace boost{
# ifdef __GNUC__
__extension__ typedef long long long_long_type;
__extension__ typedef unsigned long long ulong_long_type;
# else
typedef long long long_long_type;
typedef unsigned long long ulong_long_type;
# endif
}
#endif
// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
//
// Some compilers have problems with function templates whose
// template parameters don't appear in the function parameter
// list (basically they just link one instantiation of the
// template in the final executable). These macros provide a
// uniform way to cope with the problem with no effects on the
// calling syntax.
// Example:
//
// #include <iostream>
// #include <ostream>
// #include <typeinfo>
//
// template <int n>
// void f() { std::cout << n << ' '; }
//
// template <typename T>
// void g() { std::cout << typeid(T).name() << ' '; }
//
// int main() {
// f<1>();
// f<2>();
//
// g<int>();
// g<double>();
// }
//
// With VC++ 6.0 the output is:
//
// 2 2 double double
//
// To fix it, write
//
// template <int n>
// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
//
// template <typename T>
// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
//
#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
# include "boost/type.hpp"
# include "boost/non_type.hpp"
# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type<t>* = 0
# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type<t>*
# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type<t, v>* = 0
# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type<t, v>*
# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \
, BOOST_EXPLICIT_TEMPLATE_TYPE(t)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \
, BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \
, BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \
, BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
#else
// no workaround needed: expand to nothing
# define BOOST_EXPLICIT_TEMPLATE_TYPE(t)
# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v)
# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
// ---------------------------------------------------------------------------//
//
@@ -270,7 +512,7 @@ namespace std {
//
// Helper macro BOOST_JOIN:
// The following piece of macro magic joins the two
// The following piece of macro magic joins the two
// arguments together, even when one of the arguments is
// itself a macro (see 16.3.1 in C++ standard). The key
// is that macro expansion of macro arguments does not
@@ -301,3 +543,5 @@ namespace std {
#endif

View File

@@ -1,4 +1,10 @@
// (C) Copyright Boost.org 2001.
// boost/config/user.hpp ---------------------------------------------------//
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// Do not check in modified versions of this file,
// This file may be customized by the end user, but not by boost.
@@ -55,4 +61,64 @@
// when available:
// #define BOOST_DISABLE_THREADS
// define when you want to disable Win32 specific features
// even when available:
// #define BOOST_DISABLE_WIN32
// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any
// prefix/suffix headers that normally control things like struct
// packing and alignment.
// #define BOOST_DISABLE_ABI_HEADERS
// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
// boost.config would normally select, any replacement should set up
// struct packing and alignment options as required.
// #define BOOST_ABI_PREFIX my-header-name
// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever
// boost.config would normally select, any replacement should undo
// the effects of the prefix header.
// #define BOOST_ABI_SUFFIX my-header-name
// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source,
// to be linked as dll's rather than static libraries on Microsoft Windows
// (this macro is used to turn on __declspec(dllimport) modifiers, so that
// the compiler knows which symbols to look for in a dll rather than in a
// static library). Note that there may be some libraries that can only
// be statically linked (Boost.Test for example) and others which may only
// be dynamically linked (Boost.Threads for example), in these cases this
// macro has no effect.
// #define BOOST_ALL_DYN_LINK
// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll
// rather than a static library on Microsoft Windows: replace the WHATEVER
// part of the macro name with the name of the library that you want to
// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or
// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport)
// modifiers, so that the compiler knows which symbols to look for in a dll
// rather than in a static library).
// Note that there may be some libraries that can only be statically linked
// (Boost.Test for example) and others which may only be dynamically linked
// (Boost.Threads for example), in these cases this macro is unsupported.
// #define BOOST_WHATEVER_DYN_LINK
// BOOST_ALL_NO_LIB: Tells the config system not to automatically select
// which libraries to link against.
// Normally if a compiler supports #pragma lib, then the correct library
// build variant will be automatically selected and linked against,
// simply by the act of including one of that library's headers.
// This macro turns that feature off.
// #define BOOST_ALL_NO_LIB
// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically
// select which library to link against for library "whatever",
// replace WHATEVER in the macro name with the name of the library;
// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.
// Normally if a compiler supports #pragma lib, then the correct library
// build variant will be automatically selected and linked against, simply
// by the act of including one of that library's headers. This macro turns
// that feature off.
// #define BOOST_WHATEVER_NO_LIB

View File

@@ -42,19 +42,12 @@
#include <climits>
#include <cfloat>
#include <boost/config.hpp>
#include <boost/detail/endian.hpp>
#ifndef BOOST_NO_CWCHAR
#include <cwchar> // for WCHAR_MIN and WCHAR_MAX
#endif
#if defined(__sparc) || defined(__sparc__) || defined(__powerpc__) || defined(__ppc__) || defined(__hppa) || defined(_MIPSEB)
#define BOOST_BIG_ENDIAN
#elif defined(__i386__)
#define BOOST_LITTLE_ENDIAN
#else
#error The file boost/detail/limits.hpp needs to be set up for your CPU type.
#endif
namespace std {
enum float_round_style {
@@ -93,14 +86,13 @@ enum float_denorm_style {
#endif /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */
// Base class for all specializations of numeric_limits.
template <class __number>
class _Numeric_limits_base {
public:
BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, false);
static __number min() throw() { return __number(); }
static __number max() throw() { return __number(); }
static __number min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); }
static __number max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); }
BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, 0);
BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, 0);
@@ -154,8 +146,8 @@ class _Integer_limits : public _Numeric_limits_base<_Int>
public:
BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true);
static _Int min() throw() { return __imin; }
static _Int max() throw() { return __imax; }
static _Int min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imin; }
static _Int max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imax; }
BOOST_STL_DECLARE_LIMITS_MEMBER(int,
digits,
@@ -337,24 +329,21 @@ class numeric_limits<unsigned long>
// Some compilers have long long, but don't define the
// LONGLONG_MIN and LONGLONG_MAX macros in limits.h. This
// assumes that long long is 64 bits.
#if !defined(LONGLONG_MIN) && !defined(LONGLONG_MAX) \
&& !defined(ULONGLONG_MAX)
#if !defined(LONGLONG_MAX) && !defined(ULONGLONG_MAX)
#define ULONGLONG_MAX 0xffffffffffffffffLLU
#define LONGLONG_MAX 0x7fffffffffffffffLL
#define LONGLONG_MIN (-LONGLONG_MAX - 1)
# define ULONGLONG_MAX 0xffffffffffffffffLLU
# define LONGLONG_MAX 0x7fffffffffffffffLL
#endif
template<>
class numeric_limits<long long>
: public _Integer_limits<long long, LONGLONG_MIN, LONGLONG_MAX>
{};
#if !defined(LONGLONG_MIN)
# define LONGLONG_MIN (-LONGLONG_MAX - 1)
#endif
template<>
class numeric_limits<unsigned long long>
: public _Integer_limits<unsigned long long, 0, ULONGLONG_MAX>
{};
#if !defined(ULONGLONG_MIN)
# define ULONGLONG_MIN 0
#endif
#endif /* __GNUC__ */
@@ -381,9 +370,9 @@ template<> class numeric_limits<float>
round_to_nearest>
{
public:
static float min() throw() { return FLT_MIN; }
static float min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MIN; }
static float denorm_min() throw() { return FLT_MIN; }
static float max() throw() { return FLT_MAX; }
static float max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MAX; }
static float epsilon() throw() { return FLT_EPSILON; }
static float round_error() throw() { return 0.5f; } // Units: ulps.
};
@@ -409,9 +398,9 @@ template<> class numeric_limits<double>
round_to_nearest>
{
public:
static double min() throw() { return DBL_MIN; }
static double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MIN; }
static double denorm_min() throw() { return DBL_MIN; }
static double max() throw() { return DBL_MAX; }
static double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MAX; }
static double epsilon() throw() { return DBL_EPSILON; }
static double round_error() throw() { return 0.5; } // Units: ulps.
};
@@ -437,9 +426,9 @@ template<> class numeric_limits<long double>
round_to_nearest>
{
public:
static long double min() throw() { return LDBL_MIN; }
static long double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MIN; }
static long double denorm_min() throw() { return LDBL_MIN; }
static long double max() throw() { return LDBL_MAX; }
static long double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MAX; }
static long double epsilon() throw() { return LDBL_EPSILON; }
static long double round_error() throw() { return 4; } // Units: ulps.
};

View File

@@ -0,0 +1,73 @@
// 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 WORKAROUND_DWA2002126_HPP
# define WORKAROUND_DWA2002126_HPP
// Compiler/library version workaround macro
//
// Usage:
//
// #if BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
// ... // workaround code here
// #endif
//
// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the
// first argument must be undefined or expand to a numeric
// value. The above expands to:
//
// (BOOST_MSVC) != 0 && (BOOST_MSVC) <= 1200
//
// When used for workarounds that apply to the latest known version
// and all earlier versions of a compiler, the following convention
// should be observed:
//
// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301))
//
// The version number in this case corresponds to the last version in
// which the workaround was known to have been required. When
// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro
// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates
// the workaround for any version of the compiler. When
// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or
// error will be issued if the compiler version exceeds the argument
// to BOOST_TESTED_AT(). This can be used to locate workarounds which
// may be obsoleted by newer versions.
# ifndef BOOST_STRICT_CONFIG
# define BOOST_WORKAROUND(symbol, test) \
((symbol != 0) && (1 % (( (symbol test) ) + 1)))
// ^ ^ ^ ^
// The extra level of parenthesis nesting above, along with the
// BOOST_OPEN_PAREN indirection below, is required to satisfy the
// broken preprocessor in MWCW 8.3 and earlier.
//
// The basic mechanism works as follows:
// (symbol test) + 1 => if (symbol test) then 2 else 1
// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0
//
// The complication with % is for cooperation with BOOST_TESTED_AT().
// When "test" is BOOST_TESTED_AT(x) and
// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined,
//
// symbol test => if (symbol <= x) then 1 else -1
// (symbol test) + 1 => if (symbol <= x) then 2 else 0
// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero
//
# ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS
# define BOOST_OPEN_PAREN (
# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1
# else
# define BOOST_TESTED_AT(value) != ((value)-(value))
# endif
# else
# define BOOST_WORKAROUND(symbol, test) 0
# endif
#endif // WORKAROUND_DWA2002126_HPP

View File

@@ -1,20 +1,143 @@
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John maddock 1999.
// (C) 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)
//
// use this header as a workaround for missing <limits>
// See http://www.boost.org/libs/utility/limits.html for documentation.
#ifndef BOOST_LIMITS
#define BOOST_LIMITS
#include <boost/config.hpp>
#ifdef BOOST_NO_LIMITS
#include <boost/detail/limits.hpp>
# include <boost/detail/limits.hpp>
#else
#include <limits>
# include <limits>
#endif
#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \
|| (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))
// Add missing specializations for numeric_limits:
#ifdef BOOST_HAS_MS_INT64
# define BOOST_LLT __int64
# define BOOST_ULLT unsigned __int64
#else
# define BOOST_LLT ::boost::long_long_type
# define BOOST_ULLT ::boost::ulong_long_type
#endif
namespace std
{
template<>
class numeric_limits<BOOST_LLT>
{
public:
BOOST_STATIC_CONSTANT(bool, is_specialized = true);
#ifdef BOOST_HAS_MS_INT64
static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; }
static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; }
#elif defined(LLONG_MAX)
static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; }
static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; }
#elif defined(LONGLONG_MAX)
static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; }
static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; }
#else
static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); }
static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); }
#endif
BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1);
BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000);
BOOST_STATIC_CONSTANT(bool, is_signed = true);
BOOST_STATIC_CONSTANT(bool, is_integer = true);
BOOST_STATIC_CONSTANT(bool, is_exact = true);
BOOST_STATIC_CONSTANT(int, radix = 2);
static BOOST_LLT epsilon() throw() { return 0; };
static BOOST_LLT round_error() throw() { return 0; };
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
BOOST_STATIC_CONSTANT(int, max_exponent = 0);
BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
BOOST_STATIC_CONSTANT(bool, has_infinity = false);
BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
static BOOST_LLT infinity() throw() { return 0; };
static BOOST_LLT quiet_NaN() throw() { return 0; };
static BOOST_LLT signaling_NaN() throw() { return 0; };
static BOOST_LLT denorm_min() throw() { return 0; };
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
BOOST_STATIC_CONSTANT(bool, is_bounded = false);
BOOST_STATIC_CONSTANT(bool, is_modulo = false);
BOOST_STATIC_CONSTANT(bool, traps = false);
BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
};
template<>
class numeric_limits<BOOST_ULLT>
{
public:
BOOST_STATIC_CONSTANT(bool, is_specialized = true);
#ifdef BOOST_HAS_MS_INT64
static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; }
static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; }
#elif defined(ULLONG_MAX) && defined(ULLONG_MIN)
static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; }
static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; }
#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN)
static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; }
static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; }
#else
static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; }
static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; }
#endif
BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT);
BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000);
BOOST_STATIC_CONSTANT(bool, is_signed = false);
BOOST_STATIC_CONSTANT(bool, is_integer = true);
BOOST_STATIC_CONSTANT(bool, is_exact = true);
BOOST_STATIC_CONSTANT(int, radix = 2);
static BOOST_ULLT epsilon() throw() { return 0; };
static BOOST_ULLT round_error() throw() { return 0; };
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
BOOST_STATIC_CONSTANT(int, max_exponent = 0);
BOOST_STATIC_CONSTANT(int, max_exponent10 = 0);
BOOST_STATIC_CONSTANT(bool, has_infinity = false);
BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
static BOOST_ULLT infinity() throw() { return 0; };
static BOOST_ULLT quiet_NaN() throw() { return 0; };
static BOOST_ULLT signaling_NaN() throw() { return 0; };
static BOOST_ULLT denorm_min() throw() { return 0; };
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
BOOST_STATIC_CONSTANT(bool, is_bounded = false);
BOOST_STATIC_CONSTANT(bool, is_modulo = false);
BOOST_STATIC_CONSTANT(bool, traps = false);
BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
};
}
#endif
#endif

View File

@@ -1,11 +1,10 @@
// Boost config.hpp configuration header file ------------------------------//
// Boost version.hpp configuration header file ------------------------------//
// (C) Copyright Boost.org 1999. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John maddock 1999. 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)
// See http://www.boost.org for most recent version.
// See http://www.boost.org/libs/config for documentation
#ifndef BOOST_VERSION_HPP
#define BOOST_VERSION_HPP
@@ -20,7 +19,17 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 102600
#define BOOST_VERSION 103301
//
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
// but as a *string* in the form "x_y" where x is the major version
// number and y is the minor version number. This is used by
// <config/auto_link.hpp> to select which library version to link to.
#define BOOST_LIB_VERSION "1_33_1"
#endif

1521
index.html Normal file

File diff suppressed because it is too large Load Diff

269
test/Jamfile Normal file
View File

@@ -0,0 +1,269 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Fri Dec 17 11:13:11 2004
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
#
# If you need to alter build preferences then set them in
# the template defined in options.jam.
#
subproject libs/config/test ;
# bring in the rules for testing
import testing ./options ;
run config_info.cpp <template>config_options ;
run config_test.cpp <template>config_options ;
run limits_test.cpp <template>config_test_options ;
run abi/abi_test.cpp abi/main.cpp <template>config_options ;
test-suite "BOOST_HAS_TWO_ARG_USE_FACET" :
[ run has_2arg_use_facet_pass.cpp <template>config_options ]
[ compile-fail has_2arg_use_facet_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_BETHREADS" :
[ run has_bethreads_pass.cpp <template>config_options ]
[ compile-fail has_bethreads_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_CLOCK_GETTIME" :
[ run has_clock_gettime_pass.cpp <template>config_options ]
[ compile-fail has_clock_gettime_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_DIRENT_H" :
[ run has_dirent_h_pass.cpp <template>config_options ]
[ compile-fail has_dirent_h_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_FTIME" :
[ run has_ftime_pass.cpp <template>config_options ]
[ compile-fail has_ftime_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_GETTIMEOFDAY" :
[ run has_gettimeofday_pass.cpp <template>config_options ]
[ compile-fail has_gettimeofday_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_HASH" :
[ run has_hash_pass.cpp <template>config_options ]
[ compile-fail has_hash_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_LONG_LONG" :
[ run has_long_long_pass.cpp <template>config_options ]
[ compile-fail has_long_long_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_MACRO_USE_FACET" :
[ run has_macro_use_facet_pass.cpp <template>config_options ]
[ compile-fail has_macro_use_facet_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_MS_INT64" :
[ run has_ms_int64_pass.cpp <template>config_options ]
[ compile-fail has_ms_int64_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_NANOSLEEP" :
[ run has_nanosleep_pass.cpp <template>config_options ]
[ compile-fail has_nanosleep_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_NL_TYPES_H" :
[ run has_nl_types_h_pass.cpp <template>config_options ]
[ compile-fail has_nl_types_h_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_NRVO" :
[ run has_nrvo_pass.cpp <template>config_options ]
[ compile-fail has_nrvo_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
[ run has_part_alloc_pass.cpp <template>config_options ]
[ compile-fail has_part_alloc_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_PTHREADS" :
[ run has_pthreads_pass.cpp <template>config_options ]
[ compile-fail has_pthreads_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
[ run has_pthread_delay_np_pass.cpp <template>config_options ]
[ compile-fail has_pthread_delay_np_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
[ run has_pthread_ma_st_pass.cpp <template>config_options ]
[ compile-fail has_pthread_ma_st_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_PTHREAD_YIELD" :
[ run has_pthread_yield_pass.cpp <template>config_options ]
[ compile-fail has_pthread_yield_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_SCHED_YIELD" :
[ run has_sched_yield_pass.cpp <template>config_options ]
[ compile-fail has_sched_yield_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_SGI_TYPE_TRAITS" :
[ run has_sgi_type_traits_pass.cpp <template>config_options ]
[ compile-fail has_sgi_type_traits_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_SIGACTION" :
[ run has_sigaction_pass.cpp <template>config_options ]
[ compile-fail has_sigaction_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_SLIST" :
[ run has_slist_pass.cpp <template>config_options ]
[ compile-fail has_slist_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_STDINT_H" :
[ run has_stdint_h_pass.cpp <template>config_options ]
[ compile-fail has_stdint_h_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_STLP_USE_FACET" :
[ run has_stlp_use_facet_pass.cpp <template>config_options ]
[ compile-fail has_stlp_use_facet_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_UNISTD_H" :
[ run has_unistd_h_pass.cpp <template>config_options ]
[ compile-fail has_unistd_h_fail.cpp <template>config_options ] ;
test-suite "BOOST_MSVC6_MEMBER_TEMPLATES" :
[ run has_vc6_mem_templ_pass.cpp <template>config_options ]
[ compile-fail has_vc6_mem_templ_fail.cpp <template>config_options ] ;
test-suite "BOOST_MSVC_STD_ITERATOR" :
[ run has_vc_iterator_pass.cpp <template>config_options ]
[ compile-fail has_vc_iterator_fail.cpp <template>config_options ] ;
test-suite "BOOST_HAS_WINTHREADS" :
[ run has_winthreads_pass.cpp <template>config_options ]
[ compile-fail has_winthreads_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP" :
[ run no_arg_dep_lookup_pass.cpp <template>config_options ]
[ compile-fail no_arg_dep_lookup_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS" :
[ run no_array_type_spec_pass.cpp <template>config_options ]
[ compile-fail no_array_type_spec_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_AUTO_PTR" :
[ run no_auto_ptr_pass.cpp <template>config_options ]
[ compile-fail no_auto_ptr_fail.cpp <template>config_options ] ;
test-suite "BOOST_BCB_PARTIAL_SPECIALIZATION_BUG" :
[ run no_bcb_partial_spec_pass.cpp <template>config_options ]
[ compile-fail no_bcb_partial_spec_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_CTYPE_FUNCTIONS" :
[ run no_ctype_functions_pass.cpp <template>config_options ]
[ compile-fail no_ctype_functions_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_CV_SPECIALIZATIONS" :
[ run no_cv_spec_pass.cpp <template>config_options ]
[ compile-fail no_cv_spec_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_CV_VOID_SPECIALIZATIONS" :
[ run no_cv_void_spec_pass.cpp <template>config_options ]
[ compile-fail no_cv_void_spec_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_CWCHAR" :
[ run no_cwchar_pass.cpp <template>config_options ]
[ compile-fail no_cwchar_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_CWCTYPE" :
[ run no_cwctype_pass.cpp <template>config_options ]
[ compile-fail no_cwctype_fail.cpp <template>config_options ] ;
test-suite "BOOST_DEDUCED_TYPENAME" :
[ run no_ded_typename_pass.cpp <template>config_options ]
[ compile-fail no_ded_typename_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
[ run no_dep_nested_class_pass.cpp <template>config_options ]
[ compile-fail no_dep_nested_class_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
[ run no_dep_val_param_pass.cpp <template>config_options ]
[ compile-fail no_dep_val_param_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_EXCEPTIONS" :
[ run no_exceptions_pass.cpp <template>config_options ]
[ compile-fail no_exceptions_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
[ run no_excep_std_pass.cpp <template>config_options ]
[ compile-fail no_excep_std_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
[ run no_exp_func_tem_arg_pass.cpp <template>config_options ]
[ compile-fail no_exp_func_tem_arg_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
[ run no_func_tmp_order_pass.cpp <template>config_options ]
[ compile-fail no_func_tmp_order_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
[ run no_i64_limits_pass.cpp <template>config_options ]
[ compile-fail no_i64_limits_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_INCLASS_MEMBER_INITIALIZATION" :
[ run no_inline_memb_init_pass.cpp <template>config_options ]
[ compile-fail no_inline_memb_init_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_INTEGRAL_INT64_T" :
[ run no_integral_int64_t_pass.cpp <template>config_options ]
[ compile-fail no_integral_int64_t_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_IS_ABSTRACT" :
[ run no_is_abstract_pass.cpp <template>config_options ]
[ compile-fail no_is_abstract_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS" :
[ run no_iter_construct_pass.cpp <template>config_options ]
[ compile-fail no_iter_construct_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_LIMITS" :
[ run no_limits_pass.cpp <template>config_options ]
[ compile-fail no_limits_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS" :
[ run no_limits_const_exp_pass.cpp <template>config_options ]
[ compile-fail no_limits_const_exp_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_LONG_LONG_NUMERIC_LIMITS" :
[ run no_ll_limits_pass.cpp <template>config_options ]
[ compile-fail no_ll_limits_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
[ run no_mem_func_spec_pass.cpp <template>config_options ]
[ compile-fail no_mem_func_spec_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATES" :
[ run no_mem_templates_pass.cpp <template>config_options ]
[ compile-fail no_mem_templates_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
[ run no_mem_templ_frnds_pass.cpp <template>config_options ]
[ compile-fail no_mem_templ_frnds_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
[ run no_mem_tem_keyword_pass.cpp <template>config_options ]
[ compile-fail no_mem_tem_keyword_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
[ run no_mem_tem_pnts_pass.cpp <template>config_options ]
[ compile-fail no_mem_tem_pnts_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
[ run no_ops_in_namespace_pass.cpp <template>config_options ]
[ compile-fail no_ops_in_namespace_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
[ run no_partial_spec_pass.cpp <template>config_options ]
[ compile-fail no_partial_spec_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
[ run no_priv_aggregate_pass.cpp <template>config_options ]
[ compile-fail no_priv_aggregate_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_POINTER_TO_MEMBER_CONST" :
[ run no_ptr_mem_const_pass.cpp <template>config_options ]
[ compile-fail no_ptr_mem_const_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run no_ret_det_pass.cpp <template>config_options ]
[ compile-fail no_ret_det_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_SFINAE" :
[ run no_sfinae_pass.cpp <template>config_options ]
[ compile-fail no_sfinae_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STRINGSTREAM" :
[ run no_sstream_pass.cpp <template>config_options ]
[ compile-fail no_sstream_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STDC_NAMESPACE" :
[ run no_stdc_namespace_pass.cpp <template>config_options ]
[ compile-fail no_stdc_namespace_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_ALLOCATOR" :
[ run no_std_allocator_pass.cpp <template>config_options ]
[ compile-fail no_std_allocator_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_DISTANCE" :
[ run no_std_distance_pass.cpp <template>config_options ]
[ compile-fail no_std_distance_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_ITERATOR" :
[ run no_std_iterator_pass.cpp <template>config_options ]
[ compile-fail no_std_iterator_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
[ run no_std_iter_traits_pass.cpp <template>config_options ]
[ compile-fail no_std_iter_traits_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_LOCALE" :
[ run no_std_locale_pass.cpp <template>config_options ]
[ compile-fail no_std_locale_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_MESSAGES" :
[ run no_std_messages_pass.cpp <template>config_options ]
[ compile-fail no_std_messages_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_MIN_MAX" :
[ run no_std_min_max_pass.cpp <template>config_options ]
[ compile-fail no_std_min_max_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN" :
[ run no_std_oi_assign_pass.cpp <template>config_options ]
[ compile-fail no_std_oi_assign_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_USE_FACET" :
[ run no_std_use_facet_pass.cpp <template>config_options ]
[ compile-fail no_std_use_facet_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_WSTREAMBUF" :
[ run no_std_wstreambuf_pass.cpp <template>config_options ]
[ compile-fail no_std_wstreambuf_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_STD_WSTRING" :
[ run no_std_wstring_pass.cpp <template>config_options ]
[ compile-fail no_std_wstring_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_SWPRINTF" :
[ run no_swprintf_pass.cpp <template>config_options ]
[ compile-fail no_swprintf_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
[ run no_template_template_pass.cpp <template>config_options ]
[ compile-fail no_template_template_fail.cpp <template>config_options ] ;
test-suite "BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL" :
[ run no_using_breaks_adl_pass.cpp <template>config_options ]
[ compile-fail no_using_breaks_adl_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE" :
[ run no_using_decl_overld_pass.cpp <template>config_options ]
[ compile-fail no_using_decl_overld_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_USING_TEMPLATE" :
[ run no_using_template_pass.cpp <template>config_options ]
[ compile-fail no_using_template_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_VOID_RETURNS" :
[ run no_void_returns_pass.cpp <template>config_options ]
[ compile-fail no_void_returns_fail.cpp <template>config_options ] ;
test-suite "BOOST_NO_INTRINSIC_WCHAR_T" :
[ run no_wchar_t_pass.cpp <template>config_options ]
[ compile-fail no_wchar_t_fail.cpp <template>config_options ] ;

27
test/abi/abi_test.cpp Normal file
View File

@@ -0,0 +1,27 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for the most recent version.
#include "abi_test.hpp"
char abi_test::virtual_one()const
{
return c;
}
boost::int32_t abi_test::virtual_two()const
{
return i;
}
abi_test::abi_test()
{
c = 0x12;
i = 0x5678;
}

54
test/abi/abi_test.hpp Normal file
View File

@@ -0,0 +1,54 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for the most recent version.
#ifndef BOOST_ABI_TEST_HPP
#define BOOST_ABI_TEST_HPP
#include <boost/config.hpp>
#include <boost/cstdint.hpp>
#ifdef BOOST_HAS_ABI_HEADERS
#include BOOST_ABI_PREFIX
#endif
//
// the following class is designed to break if the ABI
// it's compiled with does not match that of the client
// calling it....
//
struct empty{};
class abi_test : protected empty
{
private:
empty e;
char c;
boost::int32_t i;
public:
inline char inline_one()const
{ return c; }
inline boost::int32_t inline_two()const
{ return i; }
virtual char virtual_one()const;
virtual boost::int32_t virtual_two()const;
abi_test();
};
#ifdef BOOST_HAS_ABI_HEADERS
#include BOOST_ABI_SUFFIX
#endif
#endif // BOOST_ABI_TEST_HPP

31
test/abi/main.cpp Normal file
View File

@@ -0,0 +1,31 @@
// (C) Copyright John Maddock 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for the most recent version.
//
// before we do anything else, we need to mess with the compilers ABI:
//
#include <boost/config.hpp>
#ifdef BOOST_MSVC
#pragma pack(1)
#elif defined(__BORLANDC__)
#pragma option -Ve- -Vx- -a1 -b-
#endif
#include <stdio.h>
#include "abi_test.hpp"
int main()
{
abi_test t;
if((t.inline_one() != t.virtual_one()) || (t.inline_two() != t.virtual_two()))
{
fwrite("Failed ABI test", 1, 15, stdout);
return -1;
}
return 0;
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_TWO_ARG_USE_FACET
// TITLE: two argument version of use_facet
@@ -27,3 +29,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_BETHREADS
// TITLE: BeOS Threads
@@ -29,3 +31,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_CLOCK_GETTIME
// TITLE: clock_gettime
@@ -30,3 +32,4 @@ int test()

View File

@@ -0,0 +1,30 @@
// (C) Copyright John Maddock 2002.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_DIRENT_H
// TITLE: <dirent.h>
// DESCRIPTION: The platform has an <dirent.h>.
#include <dirent.h>
namespace boost_has_dirent_h{
int test()
{
DIR* pd = opendir("foobar");
if(pd) closedir(pd);
return 0;
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_FTIME
// TITLE: GetSystemTimeAsFileTime
@@ -29,3 +31,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_GETTIMEOFDAY
// TITLE: gettimeofday
@@ -30,3 +32,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_HASH
// TITLE: <hashset> and <hashmap>
@@ -42,3 +44,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_LONG_LONG
// TITLE: long long
@@ -14,10 +16,15 @@ namespace boost_has_long_long{
int test()
{
long long int lli = 0LL;
unsigned long long int ulli = 0uLL;
(void)lli;
(void)ulli;
#ifdef __GNUC__
__extension__ long long lli = 0LL;
__extension__ unsigned long long ulli = 0uLL;
#else
long long lli = 0LL;
unsigned long long ulli = 0uLL;
#endif
(void)&lli;
(void)&ulli;
return 0;
}
@@ -26,3 +33,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_MACRO_USE_FACET
// TITLE: macro version of use_facet: _USE
@@ -30,3 +32,4 @@ int test()

View File

@@ -0,0 +1,32 @@
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_MS_INT64
// TITLE: __int64
// DESCRIPTION: The platform supports Microsoft style __int64.
#include <cstdlib>
namespace boost_has_ms_int64{
int test()
{
__int64 lli = 0i64;
unsigned __int64 ulli = 0ui64;
(void)lli;
(void)ulli;
return 0;
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_NANOSLEEP
// TITLE: nanosleep
@@ -31,3 +33,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_NL_TYPES_H
// TITLE: <nl_types.h>
@@ -24,3 +26,4 @@ int test()

57
test/boost_has_nrvo.ipp Normal file
View File

@@ -0,0 +1,57 @@
// (C) Copyright Terje Slettebo 2001.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_NRVO
// TITLE: Named return value optimisation.
// DESCRIPTION: Named return value optimisation.
namespace boost_has_nrvo
{
class test_class
{
public:
test_class() {}
test_class(const test_class &other)
{
++copy_count;
}
static int copy_count;
};
int test_class::copy_count;
test_class f()
{
test_class nrv;
return nrv;
}
int test()
{
test_class::copy_count=0;
f();
return test_class::copy_count;
}
} // namespace boost_has_nrvo

View File

@@ -0,0 +1,62 @@
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_PARTIAL_STD_ALLOCATOR
// TITLE: limited std::allocator support
// DESCRIPTION: The std lib has at least some kind of stanfard allocator
// with allocate/deallocate members and probably not much more.
#include <memory>
namespace boost_has_partial_std_allocator{
//
// test everything except rebind template members:
//
template <class T>
int test_allocator(const T& i)
{
typedef std::allocator<int> alloc1_t;
typedef typename alloc1_t::size_type size_type;
typedef typename alloc1_t::difference_type difference_type;
typedef typename alloc1_t::pointer pointer;
typedef typename alloc1_t::const_pointer const_pointer;
typedef typename alloc1_t::reference reference;
typedef typename alloc1_t::const_reference const_reference;
typedef typename alloc1_t::value_type value_type;
alloc1_t a1;
pointer p = a1.allocate(1);
const_pointer cp = p;
a1.construct(p,i);
size_type s = a1.max_size();
(void)s;
reference r = *p;
const_reference cr = *cp;
if(p != a1.address(r)) return -1;
if(cp != a1.address(cr)) return -1;
a1.destroy(p);
a1.deallocate(p,1);
return 0;
}
int test()
{
return test_allocator(0);
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_PTHREAD_DELAY_NP
// TITLE: pthread_delay_np
@@ -30,3 +32,4 @@ int test()

View File

@@ -1,34 +0,0 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// MACRO: BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
// TITLE: pthread_mutexattr_gettype
// DESCRIPTION: The platform supports POSIX API pthread_mutexattr_gettype.
#include <pthread.h>
namespace boost_has_pthread_mutexattr_settype{
void f()
{
// this is never called, it just has to compile:
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
int type;
pthread_mutexattr_gettype(&attr, &type);
}
int test()
{
return 0;
}
}

View File

@@ -0,0 +1,37 @@
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
// TITLE: pthread_mutexattr_settype
// DESCRIPTION: The platform supports POSIX API pthread_mutexattr_settype.
#include <pthread.h>
namespace boost_has_pthread_mutexattr_settype{
void f()
{
// this is never called, it just has to compile:
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
int type = 0;
pthread_mutexattr_settype(&attr, type);
}
int test()
{
return 0;
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_PTHREAD_YIELD
// TITLE: pthread_yield
@@ -28,3 +30,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_PTHREADS
// TITLE: POSIX Threads
@@ -30,3 +32,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_SCHED_YIELD
// TITLE: sched_yield
@@ -29,3 +31,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_SGI_TYPE_TRAITS
// TITLE: SGI style <type_traits.h>
@@ -24,6 +26,9 @@ int test()
typedef ::__type_traits<char>::has_trivial_default_constructor tdc;
typedef ::__type_traits<foo_type>::is_POD_type isp;
(void) &t; // avoid "unused variable" warnings
(void) &f;
return 0;
}
@@ -32,3 +37,4 @@ int test()

View File

@@ -0,0 +1,36 @@
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_SIGACTION
// TITLE: sigaction
// DESCRIPTION: The platform supports POSIX standard API sigaction.
#include <signal.h>
namespace boost_has_sigaction{
void f()
{
// this is never called, it just has to compile:
struct sigaction* sa1 = 0 ;
struct sigaction* sa2 = 0 ;
int res = sigaction(0, sa1, sa2);
(void) &res;
}
int test()
{
return 0;
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_SLIST
// TITLE: <slist>
@@ -34,3 +36,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_STDINT_H
// TITLE: stdint.h
@@ -13,7 +15,11 @@
// presence; thus the default is not present, conforming
// to the current C++ standard).
#include <stdint.h>
# if defined(__hpux) || defined(__FreeBSD__) || defined(__IBMCPP__)
# include <inttypes.h>
# else
# include <stdint.h>
# endif
namespace boost_has_stdint_h{
@@ -34,3 +40,5 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_STLP_USE_FACET
// TITLE: STLport version of use_facet
@@ -26,3 +28,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_UNISTD_H
// TITLE: <unistd.h>
@@ -21,3 +23,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_MSVC6_MEMBER_TEMPLATES
// TITLE: microsoft member templates
@@ -53,3 +55,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_MSVC_STD_ITERATOR
// TITLE: microsoft's version of std::iterator
@@ -35,3 +37,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_HAS_WINTHREADS
// TITLE: MS Windows threads
@@ -29,3 +31,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
// TITLE: Koenig lookup
@@ -32,3 +34,4 @@ int test()
}

View File

@@ -0,0 +1,30 @@
// (C) Copyright John Maddock 2001.
// (C) Copyright Aleksey Gurtovoy 2003.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
// TITLE: template specialisations of array types
// DESCRIPTION: If the compiler cannot handle template specialisations
// for array types
namespace boost_no_array_type_specializations{
template< typename T > struct is_array
{
};
template< typename T, int N > struct is_array< T[N] >
{
};
int test()
{
return 0;
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_AUTO_PTR
// TITLE: std::auto_ptr
@@ -48,3 +50,4 @@ int test()

View File

@@ -0,0 +1,53 @@
// (C) Copyright Terje Slettebø 2002.
// Use, modification and distribution are subject to 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)
// MACRO: BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
// TITLE: Full partial specialization support.
// DESCRIPTION: Borland C++ Builder has some rather specific partial
// specialisation bugs which this code tests for.
#include <vector>
namespace boost_bcb_partial_specialization_bug{
template<class T1,class T2>
class Test
{
};
template<class T1,class T2>
class Test<std::vector<T1>,T2>
{
};
template<class T>
class Test<std::vector<int>,T>
{
};
template <class T>
struct is_const{};
template <class T>
struct is_const<T const>{};
int test()
{
Test<std::vector<int>,double> v;
is_const<const int> ci;
(void)v; // warning suppression
(void)ci;
return 0;
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_CTYPE_FUNCTIONS
// TITLE: functions in <ctype.h>
@@ -39,3 +41,4 @@ int test()
}
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_CV_SPECIALIZATIONS
// TITLE: template specialisations of cv-qualified types
@@ -42,3 +44,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_CV_VOID_SPECIALIZATIONS
// TITLE: template specialisations of cv-qualified void
@@ -40,3 +42,4 @@ int test()
}

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_CWCHAR
// TITLE: <wchar.h> and <cwchar>
@@ -28,3 +30,4 @@ int test()

View File

@@ -1,7 +1,9 @@
// (C) Copyright John Maddock 2001. Permission to copy, use, modify, sell and
// distribute this software is granted provided this copyright notice appears
// in all copies. This software is provided "as is" without express or implied
// warranty, and with no claim as to its suitability for any purpose.
// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to 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)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_CWCTYPE
// TITLE: <wctype.h> and <cwctype>
@@ -42,3 +44,4 @@ int test()

Some files were not shown because too many files have changed in this diff Show More