Another cleanup pass.. And a first pass at documentation.
git-svn-id: http://svn.boost.org/svn/boost/sandbox/predef@75741 b8fc166d-592f-0410-95f2-cb63ce0dd405
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_BORLAND`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Borland] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_BORLAND BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__BORLANDC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -13,6 +13,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#define BOOST_CXX_COMO BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_COMO`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Comeau] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#if defined(__COMO__)
|
||||
#undef BOOST_CXX_COMO
|
||||
#define BOOST_CXX_COMO BOOST_PREDEF_MAKE_F_F_FF(__COMO_VERSION__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_DEC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Compaq DEC] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_DEC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__DECC)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_CYGWIN`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Cygwin] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_CYGWIN BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__CYGWIN__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_DIAB`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Diab] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_DIAB BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__DCC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_DMC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Digital Mars] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_DMC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__DMC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_SYSC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Dignus SysC] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_SYSC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__SYSC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_EDG`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX EDG] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_EDG BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__EDG__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_PATH`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Ekopath] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_PATH BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__PATHCC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_GNUC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Gnu C/C++] compiler.
|
||||
Version number available as major, minor, and patch (if available).
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_GNUC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__GNUC__)
|
||||
@ -25,6 +32,6 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GNUC,"GNUC")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GNUC,"Gnu C/C++")
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_GCCXML`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX GCC XML] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_GCCXML BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__GCCXML__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_GHS`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Green Hills] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_GHS BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__ghs)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_HPACC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX HP ACC] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_HPACC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__HP_aCC)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_IAR`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX IAR] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_IAR BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__IAR_SYSTEMS_ICC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_IBM`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Iternational Business Mchines] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_IBM BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__IBMCPP__) || defined(__xlC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_INTEL`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Intel] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_INTEL BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_KCC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Kai] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_KCC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__KCC)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_LLVM`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX LLVM] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_LLVM BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__llvm__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_HIGHC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Metaware HighC] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_HIGHC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__HIGHC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,30 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_MWERKS`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Metrowerks] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__MWERKS__)
|
||||
#undef BOOST_CXX_MWERKS
|
||||
#if __MWERKS__ == 0x3000
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,0,0)
|
||||
#elif __MWERKS__ == 0x3001
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,1,0)
|
||||
#elif __MWERKS__ == 0x3002
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,2,0)
|
||||
#elif __MWERKS__ == 0x3003
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,3,0)
|
||||
#elif __MWERKS__ == 0x3200
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,0,0)
|
||||
#elif __MWERKS__ == 0x3201
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,1,0)
|
||||
#elif __MWERKS__ == 0x3202
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,2,0)
|
||||
#elif __MWERKS__ == 0x3204 // note the "skip": 04->9.3
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,3,0)
|
||||
#elif __MWERKS__ == 0x3205
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,4,0)
|
||||
#elif __MWERKS__ == 0x3206
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,5,0)
|
||||
#if (__MWERKS__ >= 0x3000) && (__MWERKS__ < 0x3200)
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0)
|
||||
#elif (__MWERKS__ >= 0x3200) && (__MWERKS__ <= 0x3202)
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0)
|
||||
#elif (__MWERKS__ >= 0x3204) && (__MWERKS__ < 0x3300) // note the "skip": 04->9.3
|
||||
#define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0)
|
||||
#else
|
||||
#define BOOST_CXX_MWERKS BOOST_PREDEF_MAKE_F_F_FF(__MWERKS__)
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_MRI`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Microtec] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_MRI BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(_MRI)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_MINGW`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX MinGW] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_MINGW BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_MPW`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX MPW] compiler.
|
||||
Version number available as major, and minor.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_MPW BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__MRC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_PALM`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Palm] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_PALM BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(_PACC_VER)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_PGI`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX PGI] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_PGI BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__PGI)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_SGI`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX SGI Mips-pro] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_SGI BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__sgi)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_SUNPRO`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Sun Pro] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_SUNPRO BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__SUNPRO_CC)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_TENDRA`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Tendra] compiler.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_TENDRA BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__TenDRA__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_MSVC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Microsoft Visual C/C++] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_MSVC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_CXX_WATCOM`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Watcom] compiler.
|
||||
Version number available as major, and minor.
|
||||
*/
|
||||
|
||||
#define BOOST_CXX_WATCOM BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__WATCOMC__)
|
||||
|
@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
/*`
|
||||
[heading `BOOST_LANGUAGE_OBJC`]
|
||||
|
||||
Objective C language.
|
||||
[@http://en.wikipedia.org/wiki/Objective-C Objective-C] language.
|
||||
*/
|
||||
|
||||
#define BOOST_LANGUAGE_OBJC BOOST_VERSION_NUMBER(0,0,0)
|
||||
@ -25,6 +25,6 @@ Objective C language.
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LANGUAGE_OBJC,"Objective C")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LANGUAGE_OBJC,"Objective-C")
|
||||
|
||||
#endif
|
||||
|
@ -14,8 +14,8 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
/*`
|
||||
[heading `BOOST_LANGUAGE_STDC`]
|
||||
|
||||
Standard C language. If available, the year of the standard
|
||||
is detected as 0.0.YYYY.
|
||||
[@http://en.wikipedia.org/wiki/C_(programming_language) Standard C] language.
|
||||
If available, the year of the standard is detected as 0.0.YYYY.
|
||||
*/
|
||||
|
||||
#define BOOST_LANGUAGE_STDC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
@ -14,8 +14,19 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
/*`
|
||||
[heading `BOOST_LANGUAGE_STDCPP`]
|
||||
|
||||
Standard C++ language. If available, the year of the standard
|
||||
is detected as 0.0.YYYY.
|
||||
[@http://en.wikipedia.org/wiki/C%2B%2B Standard C++] language.
|
||||
If available, the year of the standard is detected as 0.0.YYYY.
|
||||
Because of the way the C++ standardization process works the
|
||||
defined version year will not be the commonly known year standard.
|
||||
Specifically the defined versions will be:
|
||||
|
||||
[table Detected Version Number vs. C++ Standard Year
|
||||
[[Detected Version Number] [Standard Year] [C++ Standard]]
|
||||
[[0.0.1997] [1998] [ISO/IEC 14882:1998]]
|
||||
[[0.0.?] [2003] [ISO/IEC 14882:2003]]
|
||||
[[0.0.?] [2007] [ISO/IEC TR 19768:2007]]
|
||||
[[0.0.2011] [2011] [ISO/IEC 14882:2011]]
|
||||
]
|
||||
*/
|
||||
|
||||
#define BOOST_LANGUAGE_STDCPP BOOST_VERSION_NUMBER(0,0,0)
|
||||
@ -35,8 +46,8 @@ BOOST_PREDEF_DECLARE_TEST(BOOST_LANGUAGE_STDCPP,"Standard C++")
|
||||
/*`
|
||||
[heading `BOOST_LANGUAGE_STDCPPCLI`]
|
||||
|
||||
Standard C++/CLI language. If available, the year of the standard
|
||||
is detected as 0.0.YYYY.
|
||||
[@http://en.wikipedia.org/wiki/C%2B%2B/CLI Standard C++/CLI] language.
|
||||
If available, the year of the standard is detected as 0.0.YYYY.
|
||||
*/
|
||||
|
||||
#define BOOST_LANGUAGE_STDCPPCLI BOOST_VERSION_NUMBER(0,0,0)
|
||||
@ -56,7 +67,7 @@ BOOST_PREDEF_DECLARE_TEST(BOOST_LANGUAGE_STDCPPCLI,"Standard C++/CLI")
|
||||
/*`
|
||||
[heading `BOOST_LANGUAGE_STDECPP`]
|
||||
|
||||
Standard Embedded C++ language.
|
||||
[@http://en.wikipedia.org/wiki/Embedded_C%2B%2B Standard Embedded C++] language.
|
||||
*/
|
||||
|
||||
#define BOOST_LANGUAGE_STDECPP BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -17,6 +17,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <cstddef>
|
||||
#endif
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBC_GNU`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Glibc GNU glibc] Standard C library.
|
||||
Version number available as major, and minor.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBC_GNU BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__GLIBC__) || defined(__GNU_LIBRARY__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBC_UC`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Uclibc uClibc] Standard C library.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBC_UC BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__UCLIBC__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBC_VMS`]
|
||||
|
||||
VMS libc Standard C library.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBC_VMS BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__CRTL_VER)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,14 +11,27 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBC_ZOS`]
|
||||
|
||||
z/OS libc Standard C library.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBC_ZOS BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__LIBREL__)
|
||||
#undef BOOST_LIBC_ZOS
|
||||
#define BOOST_LIBC_ZOS BOOST_PREDEF_MAKE_F_FF_FFFF(__LIBREL__)
|
||||
#if defined(__LIBREL__)
|
||||
#define BOOST_LIBC_ZOS BOOST_PREDEF_MAKE_F_FF_FFFF(__LIBREL__)
|
||||
#elif defined(__TARGET_LIB__)
|
||||
#define BOOST_LIBC_ZOS BOOST_PREDEF_MAKE_F_FF_FFFF(__TARGET_LIB__)
|
||||
#else
|
||||
#define BOOST_LIBC_ZOS BOOST_VERSION_NUMBER(0,0,1)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBC_ZOS,"zOS")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBC_ZOS,"z/OS")
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright John Maddock 2001-2003
|
||||
Copyright Jens Maurer 2001-2002
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -32,6 +30,7 @@ can end up detecting that first rather than STLport:
|
||||
/*
|
||||
The rest in alpha order, except for Dinkumware.
|
||||
*/
|
||||
#include <boost/predef/library/std/cxx.h>
|
||||
#include <boost/predef/library/std/libcomo.h>
|
||||
#include <boost/predef/library/std/modena.h>
|
||||
#include <boost/predef/library/std/msl.h>
|
||||
|
31
boost/predef/library/std/cxx.h
Normal file
@ -0,0 +1,31 @@
|
||||
/*
|
||||
Copyright Redshift Software Inc 2011
|
||||
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 BOOST_PREDEF_LIBRARY_STD_CXX_H
|
||||
#define BOOST_PREDEF_LIBRARY_STD_CXX_H
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_CXX`]
|
||||
|
||||
[@http://libcxx.llvm.org/ libc++] C++ Standard Library.
|
||||
If available version number as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_CXX BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(_LIBCPP_VERSION)
|
||||
#undef BOOST_LIBSTD_CXX
|
||||
#define BOOST_LIBSTD_CXX BOOST_PREDEF_MAKE_NN_NN(__CPPLIB_VER)
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_CXX,"libc++")
|
||||
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_DINKUMWARE`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Dinkumware Dinkumware] Standard C++ Library.
|
||||
If available version number as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_DINKUMWARE BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_COMO`]
|
||||
|
||||
[@http://www.comeaucomputing.com/libcomo/ Comeau Computing] Standard C++ Library.
|
||||
Version number available as major.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_COMO BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__LIBCOMO__)
|
||||
@ -19,6 +26,6 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_COMO,"Como")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_COMO,"Comeau Computing")
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_MSIPL`]
|
||||
|
||||
[@http://modena.us/ Modena Software Lib++] Standard C++ Library.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_MSIPL BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(MSIPL_COMPILE_H) || defined(__MSIPL_COMPILE_H)
|
||||
@ -19,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_MSIPL,"Modena MSIPL")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_MSIPL,"Modena Software Lib++")
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_MSL`]
|
||||
|
||||
[@http://www.freescale.com/ Metrowerks] Standard C++ Library.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_MSL BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__MSL_CPP__) || defined(__MSL__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_RW`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Roguewave Standard C++] library.
|
||||
If available version number as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_RW BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_SGI`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX SGI Standard C++] library.
|
||||
If available version number as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_SGI BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__STL_CONFIG_H)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,16 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_GNU`]
|
||||
|
||||
[@http://gcc.gnu.org/libstdc++/ GNU libstdc++] Standard C++ library.
|
||||
Version number available as year (from 1970), month, and day.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_GNU BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
||||
#undef BOOST_LIBSTD_GNU
|
||||
#if defined(__GLIBCXX__)
|
||||
#define BOOST_LIBSTD_GNU BOOST_PREDEF_MAKE_YYYY_MM_DD(__GLIBCXX__)
|
||||
#elif
|
||||
#define BOOST_LIBSTD_GNU BOOST_PREDEF_MAKE_YYYY_MM_DD(__GLIBCPP__)
|
||||
#else
|
||||
#define BOOST_LIBSTD_GNU BOOST_VERSION_NUMBER(0,0,1)
|
||||
#define BOOST_LIBSTD_GNU BOOST_PREDEF_MAKE_YYYY_MM_DD(__GLIBCPP__)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_STLPORT`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX STLport Standard C++] library.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_STLPORT BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIBSTD_IBM`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX IBM VACPP Standard C++] library.
|
||||
*/
|
||||
|
||||
#define BOOST_LIBSTD_IBM BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__IBMCPP__)
|
||||
|
@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_OS_`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX AIX] operating system.
|
||||
Version number available as major, minor, and patch.
|
||||
*/
|
||||
|
||||
#define BOOST_OS_AIX BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(_AIX) || defined(__TOS_AIX__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_OS_AMIGAOS`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX AmigaOS] operating system.
|
||||
*/
|
||||
|
||||
#define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(AMIGA) || defined(__amigaos__)
|
||||
@ -19,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AMIGAOS,"Amiga OS")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AMIGAOS,"AmigaOS")
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_OS_BEOS`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX Be] operating system.
|
||||
*/
|
||||
|
||||
#define BOOST_OS_BEOS BOOST_VERSION_NUMBER(0,0,0)
|
||||
|
||||
#if defined(__BEOS__)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Redshift Software, Inc. 2008-2010
|
||||
Copyright Redshift Software, Inc. 2008-2011
|
||||
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)
|
||||
@ -11,6 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_OS_BSD`]
|
||||
|
||||
[@http://en.wikipedia.org/wiki/XXX BSD] operating system.
|
||||
|
||||
BSD has various branch operating systems possible and each detected
|
||||
individually. This detects the following variations and sets a specific
|
||||
version number macro to match:
|
||||
|
||||
* `BOOST_OS_DRAGONFLY_BSD` [@http://en.wikipedia.org/wiki/XXX Dragonfly BSD]
|
||||
* `BOOST_OS_FREE_BSD` [@http://en.wikipedia.org/wiki/XXX Free BSD]
|
||||
* `BOOST_OS_BSDI_BSD` [@http://en.wikipedia.org/wiki/XXX BSDI]
|
||||
* `BOOST_OS_NET_BSD` [@http://en.wikipedia.org/wiki/XXX Net BSD]
|
||||
* `BOOST_OS_OPEN_BSD` [@http://en.wikipedia.org/wiki/XXX Open BSD]
|
||||
|
||||
[note The general `BOOST_OS_BSD` is set in all cases to indicate some form
|
||||
of BSD. If the above variants is detected the corresponding macro is also set.]
|
||||
*/
|
||||
|
||||
#define BOOST_OS_BSD BOOST_VERSION_NUMBER(0,0,0)
|
||||
#define BOOST_OS_DRAGONFLY_BSD BOOST_VERSION_NUMBER(0,0,0)
|
||||
#define BOOST_OS_FREE_BSD BOOST_VERSION_NUMBER(0,0,0)
|
||||
@ -49,10 +68,10 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#if defined(__FreeBSD_version)
|
||||
#if __FreeBSD_version < 500000
|
||||
#define BOOST_OS_FREE_BSD \
|
||||
BOOST_PREDEF_VRP_N_N_N_000(__FreeBSD_version)
|
||||
BOOST_PREDEF_MAKE_N_N_N_000(__FreeBSD_version)
|
||||
#else
|
||||
#define BOOST_OS_FREE_BSD \
|
||||
BOOST_PREDEF_VRP_N_NN_000(__FreeBSD_version)
|
||||
BOOST_PREDEF_MAKE_N_NN_000(__FreeBSD_version)
|
||||
#endif
|
||||
#else
|
||||
#define BOOST_OS_FREE_BSD BOOST_VERSION_NUMBER(0,0,1)
|
||||
@ -67,7 +86,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#define BOOST_OS_NET_BSD BOOST_VERSION_NUMBER(1,0,0)
|
||||
#elif defined(__NetBSD_Version)
|
||||
#define BOOST_OS_NET_BSD \
|
||||
BOOST_PREDEF_VRP_NN_NN_00_NN_00(__NetBSD_Version)
|
||||
BOOST_PREDEF_MAKE_NN_NN_00_NN_00(__NetBSD_Version)
|
||||
#else
|
||||
#define BOOST_OS_NET_BSD BOOST_VERSION_NUMBER(0,0,1)
|
||||
#endif
|
||||
|
@ -10,7 +10,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#define BOOST_PREDEF_VERSION_NUMBER_H
|
||||
|
||||
/*`
|
||||
[heading BOOST_VERSION_NUMBER]
|
||||
[heading `BOOST_VERSION_NUMBER`]
|
||||
|
||||
``
|
||||
BOOST_VERSION_NUMBER(major,minor,patch)
|
||||
@ -18,12 +18,12 @@ BOOST_VERSION_NUMBER(major,minor,patch)
|
||||
|
||||
Defines standard version numbers, with these properties:
|
||||
|
||||
* Decimal base whole numbers in the range [0,major*10000000].
|
||||
* Decimal base whole numbers in the range \[0,1000000000).
|
||||
The number range is designed to allow for a (2,2,5) triplet.
|
||||
Which fits within a 32 bit value.
|
||||
* The `major` number can be in the [0,99] range.
|
||||
* The `minor` number can be in the [0,99] range.
|
||||
* The `patch` number can be in the [0,99999] range.
|
||||
* The `major` number can be in the \[0,99\] range.
|
||||
* The `minor` number can be in the \[0,99\] range.
|
||||
* The `patch` number can be in the \[0,99999\] range.
|
||||
* Values can be specified in any base. As the defined value
|
||||
is an constant expression.
|
||||
* Value can be directly used in both preprocessor and compiler
|
||||
|
@ -13,6 +13,8 @@ if ! $(BOOST_ROOT)
|
||||
xml predef
|
||||
:
|
||||
predef.qbk
|
||||
:
|
||||
<dependency>$(BOOST_PREDEF_ROOT)/boost/predef.h
|
||||
;
|
||||
explicit predef ;
|
||||
|
||||
@ -21,7 +23,7 @@ boostbook standalone
|
||||
predef
|
||||
:
|
||||
<xsl:param>boost.root=../../..
|
||||
<xsl:param>generate.section.toc.level=3
|
||||
#<xsl:param>generate.section.toc.level=3
|
||||
<xsl:param>chunk.section.depth=1
|
||||
<xsl:param>chunk.first.sections=1
|
||||
|
||||
|
646
libs/predef/doc/html/boostbook.css
Normal file
@ -0,0 +1,646 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2004 Joel de Guzman
|
||||
http://spirit.sourceforge.net/
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompany-
|
||||
ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
|
||||
/*=============================================================================
|
||||
Body defaults
|
||||
=============================================================================*/
|
||||
|
||||
body
|
||||
{
|
||||
margin: 1em;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Paragraphs
|
||||
=============================================================================*/
|
||||
|
||||
p
|
||||
{
|
||||
text-align: left;
|
||||
font-size: 10pt;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Program listings
|
||||
=============================================================================*/
|
||||
|
||||
/* Code on paragraphs */
|
||||
p tt.computeroutput
|
||||
{
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
pre.synopsis
|
||||
{
|
||||
font-size: 9pt;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
font-size: 9pt;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
/* Program listings in tables don't get borders */
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
margin: 0pc 0pc 0pc 0pc;
|
||||
padding: 0pc 0pc 0pc 0pc;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Headings
|
||||
=============================================================================*/
|
||||
|
||||
h1, h2, h3, h4, h5, h6
|
||||
{
|
||||
text-align: left;
|
||||
margin: 1em 0em 0.5em 0em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 { font-size: 140%; }
|
||||
h2 { font-weight: bold; font-size: 140%; }
|
||||
h3 { font-weight: bold; font-size: 130%; }
|
||||
h4 { font-weight: bold; font-size: 120%; }
|
||||
h5 { font-weight: normal; font-style: italic; font-size: 110%; }
|
||||
h6 { font-weight: normal; font-style: italic; font-size: 100%; }
|
||||
|
||||
/* Top page titles */
|
||||
title,
|
||||
h1.title,
|
||||
h2.title
|
||||
h3.title,
|
||||
h4.title,
|
||||
h5.title,
|
||||
h6.title,
|
||||
.refentrytitle
|
||||
{
|
||||
font-weight: bold;
|
||||
margin-bottom: 1pc;
|
||||
}
|
||||
|
||||
h1.title { font-size: 140% }
|
||||
h2.title { font-size: 140% }
|
||||
h3.title { font-size: 130% }
|
||||
h4.title { font-size: 120% }
|
||||
h5.title { font-size: 110% }
|
||||
h6.title { font-size: 100% }
|
||||
|
||||
.section h1
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
font-size: 140%;
|
||||
}
|
||||
|
||||
.section h2 { font-size: 140% }
|
||||
.section h3 { font-size: 130% }
|
||||
.section h4 { font-size: 120% }
|
||||
.section h5 { font-size: 110% }
|
||||
.section h6 { font-size: 100% }
|
||||
|
||||
/* Code on titles */
|
||||
h1 tt.computeroutput { font-size: 140% }
|
||||
h2 tt.computeroutput { font-size: 140% }
|
||||
h3 tt.computeroutput { font-size: 130% }
|
||||
h4 tt.computeroutput { font-size: 130% }
|
||||
h5 tt.computeroutput { font-size: 130% }
|
||||
h6 tt.computeroutput { font-size: 130% }
|
||||
|
||||
|
||||
/*=============================================================================
|
||||
Author
|
||||
=============================================================================*/
|
||||
|
||||
h3.author
|
||||
{
|
||||
font-size: 100%
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Lists
|
||||
=============================================================================*/
|
||||
|
||||
li
|
||||
{
|
||||
font-size: 10pt;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
/* Unordered lists */
|
||||
ul
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Ordered lists */
|
||||
ol
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Links
|
||||
=============================================================================*/
|
||||
|
||||
a
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Spirit style navigation
|
||||
=============================================================================*/
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.spirit-nav a
|
||||
{
|
||||
color: white;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.spirit-nav img
|
||||
{
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Copyright footer
|
||||
=============================================================================*/
|
||||
.copyright-footer
|
||||
{
|
||||
text-align: right;
|
||||
font-size: 70%;
|
||||
}
|
||||
|
||||
.copyright-footer p
|
||||
{
|
||||
text-align: right;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Table of contents
|
||||
=============================================================================*/
|
||||
|
||||
.toc
|
||||
{
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.1pc 1pc 0.1pc 1pc;
|
||||
font-size: 80%;
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
.boost-toc
|
||||
{
|
||||
float: right;
|
||||
padding: 0.5pc;
|
||||
}
|
||||
|
||||
/* Code on toc */
|
||||
.toc .computeroutput { font-size: 120% }
|
||||
|
||||
/* No margin on nested menus */
|
||||
|
||||
.toc dl dl { margin: 0; }
|
||||
|
||||
/*=============================================================================
|
||||
Tables
|
||||
=============================================================================*/
|
||||
|
||||
.table-title,
|
||||
div.table p.title
|
||||
{
|
||||
margin-left: 4%;
|
||||
padding-right: 0.5em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
width: 92%;
|
||||
margin-left: 4%;
|
||||
margin-right: 4%;
|
||||
}
|
||||
|
||||
div.informaltable table,
|
||||
div.table table
|
||||
{
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* Table Cells */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
padding: 0.5em;
|
||||
text-align: left;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
padding: 0.5em 0.5em 0.5em 0.5em;
|
||||
border: 1pt solid white;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
table.simplelist
|
||||
{
|
||||
width: auto !important;
|
||||
margin: 0em !important;
|
||||
padding: 0em !important;
|
||||
border: none !important;
|
||||
}
|
||||
table.simplelist td
|
||||
{
|
||||
margin: 0em !important;
|
||||
padding: 0em !important;
|
||||
text-align: left !important;
|
||||
font-size: 9pt !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Blurbs
|
||||
=============================================================================*/
|
||||
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
p.blurb
|
||||
{
|
||||
font-size: 9pt; /* A little bit smaller than the main text */
|
||||
line-height: 1.2;
|
||||
display: block;
|
||||
margin: 1pc 4% 0pc 4%;
|
||||
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
|
||||
}
|
||||
|
||||
p.blurb img
|
||||
{
|
||||
padding: 1pt;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Variable Lists
|
||||
=============================================================================*/
|
||||
|
||||
div.variablelist
|
||||
{
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
/* Make the terms in definition lists bold */
|
||||
div.variablelist dl dt,
|
||||
span.term
|
||||
{
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td
|
||||
{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 0em 2em 0em 0em;
|
||||
font-size: 10pt;
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
div.variablelist dl dt
|
||||
{
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
div.variablelist dl dd
|
||||
{
|
||||
margin: 0em 0em 0.5em 2em;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
div.variablelist table tbody tr td p,
|
||||
div.variablelist dl dd p
|
||||
{
|
||||
margin: 0em 0em 0.5em 0em;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Misc
|
||||
=============================================================================*/
|
||||
|
||||
/* Title of books and articles in bibliographies */
|
||||
span.title
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
span.underline
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
span.strikethrough
|
||||
{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
div div.legalnotice p
|
||||
{
|
||||
text-align: left
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Colors
|
||||
=============================================================================*/
|
||||
|
||||
@media screen
|
||||
{
|
||||
body {
|
||||
background-color: #FFFFFF;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* Syntax Highlighting */
|
||||
.keyword { color: #0000AA; }
|
||||
.identifier { color: #000000; }
|
||||
.special { color: #707070; }
|
||||
.preprocessor { color: #402080; }
|
||||
.char { color: teal; }
|
||||
.comment { color: #800000; }
|
||||
.string { color: teal; }
|
||||
.number { color: teal; }
|
||||
.white_bkd { background-color: #FFFFFF; }
|
||||
.dk_grey_bkd { background-color: #999999; }
|
||||
|
||||
/* Links */
|
||||
a, a .keyword, a .identifier, a .special, a .preprocessor
|
||||
a .char, a .comment, a .string, a .number
|
||||
{
|
||||
color: #005a9c;
|
||||
}
|
||||
|
||||
a:visited, a:visited .keyword, a:visited .identifier,
|
||||
a:visited .special, a:visited .preprocessor a:visited .char,
|
||||
a:visited .comment, a:visited .string, a:visited .number
|
||||
{
|
||||
color: #9c5a9c;
|
||||
}
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
|
||||
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
|
||||
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
|
||||
{
|
||||
text-decoration: none; /* no underline */
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* Copyright, Legal Notice */
|
||||
.copyright
|
||||
{
|
||||
color: #666666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div div.legalnotice p
|
||||
{
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Blurbs */
|
||||
div.note,
|
||||
div.tip,
|
||||
div.important,
|
||||
div.caution,
|
||||
div.warning,
|
||||
p.blurb
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
background-color: #F0F0F0;
|
||||
border: 1px solid #DCDCDC;
|
||||
}
|
||||
|
||||
.copyright-footer
|
||||
{
|
||||
color: #8F8F8F;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
color: #00A000;
|
||||
}
|
||||
}
|
||||
|
||||
@media print
|
||||
{
|
||||
/* Links */
|
||||
a
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
a:visited
|
||||
{
|
||||
color: black;
|
||||
}
|
||||
|
||||
.spirit-nav
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Program listing */
|
||||
pre.synopsis
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.programlisting,
|
||||
.screen
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
td .programlisting,
|
||||
td .screen
|
||||
{
|
||||
border: 0px solid #DCDCDC;
|
||||
}
|
||||
|
||||
/* Table of contents */
|
||||
.toc
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.informaltable table,
|
||||
.table table
|
||||
{
|
||||
border: 1px solid gray;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
div.informaltable table tr td,
|
||||
div.table table tr td
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
div.informaltable table tr th,
|
||||
div.table table tr th
|
||||
{
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
table.simplelist tr td
|
||||
{
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
span.highlight
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
/*=============================================================================
|
||||
Images
|
||||
=============================================================================*/
|
||||
|
||||
span.inlinemediaobject img
|
||||
{
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/*==============================================================================
|
||||
Super and Subscript: style so that line spacing isn't effected, see
|
||||
http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341
|
||||
==============================================================================*/
|
||||
|
||||
sup,
|
||||
sub {
|
||||
height: 0;
|
||||
line-height: 1;
|
||||
vertical-align: baseline;
|
||||
position: relative;
|
||||
|
||||
}
|
||||
|
||||
/* For internet explorer: */
|
||||
|
||||
* html sup,
|
||||
* html sub {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
sup {
|
||||
bottom: 1ex;
|
||||
}
|
||||
|
||||
sub {
|
||||
top: .5ex;
|
||||
}
|
||||
|
||||
/*==============================================================================
|
||||
Indexes: pretty much the same as the TOC.
|
||||
==============================================================================*/
|
||||
|
||||
.index
|
||||
{
|
||||
font-size: 80%;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.index ul
|
||||
{
|
||||
padding-left: 3em;
|
||||
}
|
||||
|
||||
.index p
|
||||
{
|
||||
padding: 2px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
.index-entry-level-0
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.index em
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
275
libs/predef/doc/html/docutils.css
Normal file
@ -0,0 +1,275 @@
|
||||
/*
|
||||
:Author: David Goodger
|
||||
:Contact: goodger@python.org
|
||||
:Date: $Date: 2007-04-16 23:44:59 -0500 (Mon, 16 Apr 2007) $
|
||||
:Revision: $Revision: 37457 $
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin-left: 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left {
|
||||
clear: left }
|
||||
|
||||
img.align-right {
|
||||
clear: right }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font-family: serif ;
|
||||
font-size: 100% }
|
||||
|
||||
pre.literal-block, pre.doctest-block {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
BIN
libs/predef/doc/html/images/alert.png
Normal file
After Width: | Height: | Size: 603 B |
BIN
libs/predef/doc/html/images/blank.png
Normal file
After Width: | Height: | Size: 374 B |
BIN
libs/predef/doc/html/images/callouts/1.png
Normal file
After Width: | Height: | Size: 391 B |
BIN
libs/predef/doc/html/images/callouts/10.png
Normal file
After Width: | Height: | Size: 485 B |
BIN
libs/predef/doc/html/images/callouts/11.png
Normal file
After Width: | Height: | Size: 410 B |
BIN
libs/predef/doc/html/images/callouts/12.png
Normal file
After Width: | Height: | Size: 488 B |
BIN
libs/predef/doc/html/images/callouts/13.png
Normal file
After Width: | Height: | Size: 509 B |
BIN
libs/predef/doc/html/images/callouts/14.png
Normal file
After Width: | Height: | Size: 499 B |
BIN
libs/predef/doc/html/images/callouts/15.png
Normal file
After Width: | Height: | Size: 507 B |
BIN
libs/predef/doc/html/images/callouts/2.png
Normal file
After Width: | Height: | Size: 446 B |
BIN
libs/predef/doc/html/images/callouts/3.png
Normal file
After Width: | Height: | Size: 431 B |
BIN
libs/predef/doc/html/images/callouts/4.png
Normal file
After Width: | Height: | Size: 441 B |
BIN
libs/predef/doc/html/images/callouts/5.png
Normal file
After Width: | Height: | Size: 423 B |
BIN
libs/predef/doc/html/images/callouts/6.png
Normal file
After Width: | Height: | Size: 431 B |
BIN
libs/predef/doc/html/images/callouts/7.png
Normal file
After Width: | Height: | Size: 397 B |
BIN
libs/predef/doc/html/images/callouts/8.png
Normal file
After Width: | Height: | Size: 434 B |
BIN
libs/predef/doc/html/images/callouts/9.png
Normal file
After Width: | Height: | Size: 420 B |
BIN
libs/predef/doc/html/images/caution.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
libs/predef/doc/html/images/draft.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
libs/predef/doc/html/images/home.png
Normal file
After Width: | Height: | Size: 358 B |
BIN
libs/predef/doc/html/images/important.png
Normal file
After Width: | Height: | Size: 722 B |
BIN
libs/predef/doc/html/images/next.png
Normal file
After Width: | Height: | Size: 336 B |
BIN
libs/predef/doc/html/images/next_disabled.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
libs/predef/doc/html/images/note.png
Normal file
After Width: | Height: | Size: 490 B |
BIN
libs/predef/doc/html/images/prev.png
Normal file
After Width: | Height: | Size: 334 B |
BIN
libs/predef/doc/html/images/prev_disabled.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
libs/predef/doc/html/images/smiley.png
Normal file
After Width: | Height: | Size: 867 B |
BIN
libs/predef/doc/html/images/tip.png
Normal file
After Width: | Height: | Size: 449 B |
BIN
libs/predef/doc/html/images/toc-blank.png
Normal file
After Width: | Height: | Size: 318 B |
BIN
libs/predef/doc/html/images/toc-minus.png
Normal file
After Width: | Height: | Size: 259 B |
BIN
libs/predef/doc/html/images/toc-plus.png
Normal file
After Width: | Height: | Size: 264 B |
BIN
libs/predef/doc/html/images/up.png
Normal file
After Width: | Height: | Size: 370 B |
BIN
libs/predef/doc/html/images/up_disabled.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
libs/predef/doc/html/images/warning.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
70
libs/predef/doc/html/index.html
Normal file
@ -0,0 +1,70 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Predef 1.0</title>
|
||||
<link rel="stylesheet" href="boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="index.html" title="Predef 1.0">
|
||||
<link rel="next" href="predef/introduction.html" title="Introduction">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav"><a accesskey="n" href="predef/introduction.html"><img src="images/next.png" alt="Next"></a></div>
|
||||
<div class="article">
|
||||
<div class="titlepage">
|
||||
<div>
|
||||
<div><h2 class="title">
|
||||
<a name="predef"></a>Predef 1.0</h2></div>
|
||||
<div><div class="authorgroup"><div class="author"><h3 class="author">
|
||||
<span class="firstname">Rene</span> <span class="surname">Rivera</span>
|
||||
</h3></div></div></div>
|
||||
<div><p class="copyright">Copyright © 2005 Rene Rivera</p></div>
|
||||
<div><p class="copyright">Copyright © 2008-2011 Redshift
|
||||
Software Inc</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="predef.legal"></a><p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></div>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dt><span class="section"><a href="predef/introduction.html">Introduction</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/using_the_predefs.html">Using the predefs</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/adding_new_predefs.html">Adding new predefs</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/reference.html">Reference</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="predef/reference.html#predef.reference.boost_architecture_architecture_"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_</span></code> architecture macros</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/reference.html#predef.reference.boost_cxx_compiler_macros"><code class="computeroutput"><span class="identifier">BOOST_CXX_</span></code> compiler macros</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/reference.html#predef.reference.boost_language_language_standard"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_</span></code> language standards macros</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/reference.html#predef.reference.boost_libc_and_boost_libstd_libr"><code class="computeroutput"><span class="identifier">BOOST_LIBC_</span></code> and <code class="computeroutput"><span class="identifier">BOOST_LIBSTD_</span></code>
|
||||
library macros</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/reference.html#predef.reference.boost_os_operating_system_macros"><code class="computeroutput"><span class="identifier">BOOST_OS_</span></code> operating system macros</a></span></dt>
|
||||
<dt><span class="section"><a href="predef/reference.html#predef.reference.version_definition_macros">Version definition
|
||||
macros</a></span></dt>
|
||||
</dl></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="warning"><table border="0" summary="Warning">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td>
|
||||
<th align="left">Warning</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
This is a <span class="bold"><strong>proposed</strong></span> Boost Libnrary and <span class="bold"><strong>is not</strong></span> part of the Boost C++ Libraries.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: November 30, 2011 at 05:42:16 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav"><a accesskey="n" href="predef/introduction.html"><img src="images/next.png" alt="Next"></a></div>
|
||||
</body>
|
||||
</html>
|
22
libs/predef/doc/html/minimal.css
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
|
||||
<20> Copyright Beman Dawes, 2007
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
See www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
Body
|
||||
*******************************************************************************/
|
||||
|
||||
body { font-family: sans-serif; margin: 1em; }
|
||||
|
||||
/*******************************************************************************
|
||||
Table
|
||||
*******************************************************************************/
|
||||
|
||||
table { margin: 0.5em; }
|
||||
|
||||
/*** end ***/
|
224
libs/predef/doc/html/predef/adding_new_predefs.html
Normal file
@ -0,0 +1,224 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Adding new predefs</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../index.html" title="Predef 1.0">
|
||||
<link rel="up" href="../index.html" title="Predef 1.0">
|
||||
<link rel="prev" href="using_the_predefs.html" title="Using the predefs">
|
||||
<link rel="next" href="reference.html" title="Reference">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="using_the_predefs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="predef.adding_new_predefs"></a><a class="link" href="adding_new_predefs.html" title="Adding new predefs">Adding new predefs</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
We know that a library like this one will be an eternal work-in-progress. And
|
||||
as such we expect, and look forward to, others contributing corrections and
|
||||
additions to the predefs. With that in mind we need to keep a consistent way
|
||||
of defining the new predefs. Hence all current, and future, predefs follow
|
||||
the same structure and requirements.
|
||||
</p>
|
||||
<h4>
|
||||
<a name="predef.adding_new_predefs.h0"></a>
|
||||
<span><a name="predef.adding_new_predefs.requirements_of_the_header"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.requirements_of_the_header">Requirements
|
||||
of the header</a>
|
||||
</h4>
|
||||
<p>
|
||||
All predefs need to follow a set of requirements:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
The headers must use the Boost Software License.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The predef must, by default, be defined as <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The predef must be redefined to a non-zero value once detected.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The predef must, by default, be defined to <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">)</span></code> when the predef is detected.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
If possible, the predef will be defined as the version number detected.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The predef must declare itself, after being defined, for the testing system.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
And there are some extra guidelines that predef headers should follow:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
The detection should avoid including extra headers that might otherwise
|
||||
not be included by default.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
If the detection must include a header, prefer guarding it within the detection
|
||||
if possible.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
If the detection must include a headers unconditionally, and has a choice
|
||||
of headers to include, prefer the ones with the least impact. I.e. include
|
||||
the one with the minimal set of definitions and other dependencies.
|
||||
</li>
|
||||
</ul></div>
|
||||
<h4>
|
||||
<a name="predef.adding_new_predefs.h1"></a>
|
||||
<span><a name="predef.adding_new_predefs.structure_of_the_header"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.structure_of_the_header">Structure
|
||||
of the header</a>
|
||||
</h4>
|
||||
<p>
|
||||
For general consistency it's suggested that new predef headers follow the structure
|
||||
below, as current predef headers do. First we have the copyright and license
|
||||
statement, followed by the include guard:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">/*
|
||||
Copyright Jane Doe YYYY
|
||||
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)
|
||||
*/</span>
|
||||
|
||||
<span class="preprocessor">#ifndef</span> <span class="identifier">BOOST_PREDEF_category_tag_H</span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_PREDEF_category_tag_H</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Depending on how you are defining the predef you will at minimum have to include
|
||||
the <code class="computeroutput"><span class="identifier">version_number</span><span class="special">.</span><span class="identifier">h</span></code> header. But you might also want to include
|
||||
the <code class="computeroutput"><span class="identifier">make</span><span class="special">.</span><span class="identifier">h</span></code> header for the version number decomposing
|
||||
utility macros:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">version_number</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">make</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
The Predef library uses Quickbook for documentation and for the individual
|
||||
predefs to appear in the reference section we add in-code documentation followed
|
||||
by the zero-value default definition of the predef macro. We strongly recommend
|
||||
this particular placement of the documentation and default definition because
|
||||
some development environments automatically interpret this and provide in-line
|
||||
help for the macro. In particular this works for the popular Eclipse IDE:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">/*`
|
||||
[heading `BOOST_category_tag`]
|
||||
|
||||
Documentation about what is detected.
|
||||
*/</span>
|
||||
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Next is the detection and definition of the particular predef. The structure
|
||||
for this is to do a single overall check (<code class="computeroutput"><span class="identifier">condition_a</span></code>)
|
||||
and place the further version detection inside this. The first action inside
|
||||
the overall check is to "<code class="computeroutput"><span class="preprocessor">#undef</span>
|
||||
<span class="identifier">BOOST_category_tag</span></code>" which undefines
|
||||
the zero-value default. The rest is up to the you how to do the checks for
|
||||
defining the version. But at minimum it must "<code class="computeroutput"><span class="preprocessor">#define</span>
|
||||
<span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">)</span></code>" as the fallback to minimally indicate
|
||||
that the predef was detected:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#if</span> <span class="special">(</span><span class="identifier">condition_a</span><span class="special">)</span>
|
||||
<span class="preprocessor">#undef</span> <span class="identifier">BOOST_category_tag</span>
|
||||
<span class="preprocessor">#if</span> <span class="special">(</span><span class="identifier">condition_b</span><span class="special">)</span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="identifier">major</span><span class="special">,</span><span class="identifier">minor</span><span class="special">,</span><span class="identifier">patch</span><span class="special">)</span>
|
||||
<span class="preprocessor">#else</span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_category_tag</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">)</span>
|
||||
<span class="preprocessor">#endif</span>
|
||||
<span class="preprocessor">#endif</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
The testing of the predef macros is automated to generate checks for all the
|
||||
defined predefs, whether detected or not. To do this we need to declare the
|
||||
predef to the test system. This declaration is empty for regular use. And during
|
||||
the test programs theexpand out specially to create informational output:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">test</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
<span class="identifier">BOOST_PREDEF_DECLARE_TEST</span><span class="special">(</span><span class="identifier">BOOST_category_tag</span><span class="special">,</span><span class="string">"Name"</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
And, of course, we last need to close out the include guard:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#endif</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<h4>
|
||||
<a name="predef.adding_new_predefs.h2"></a>
|
||||
<span><a name="predef.adding_new_predefs.using_utility_pattern_macros"></a></span><a class="link" href="adding_new_predefs.html#predef.adding_new_predefs.using_utility_pattern_macros">Using utility
|
||||
pattern macros</a>
|
||||
</h4>
|
||||
<p>
|
||||
By including:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">/</span><span class="identifier">make</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
One will get a set utlity macros to decompose common version macros as defined
|
||||
by compilers. For example the EDG compiler uses a simple 3-digit version macro
|
||||
(M,N,P). It can be decomesed and defined as:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_CXX_EDG</span> <span class="identifier">BOOST_PREDEF_MAKE_N_N_N</span><span class="special">(</span><span class="identifier">__EDG_VERSION__</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
The decomposition macros are split into three types: decimal decomposition,
|
||||
hexadecimal decomposition, and date decomposition. They follow the format of
|
||||
using "N" for decimal, "F" for hexadecimal, and "Y",
|
||||
"M", "D" for dates.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2005 Rene Rivera<br>Copyright © 2008-2011 Redshift
|
||||
Software Inc<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="using_the_predefs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
199
libs/predef/doc/html/predef/introduction.html
Normal file
@ -0,0 +1,199 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../index.html" title="Predef 1.0">
|
||||
<link rel="up" href="../index.html" title="Predef 1.0">
|
||||
<link rel="prev" href="../index.html" title="Predef 1.0">
|
||||
<link rel="next" href="using_the_predefs.html" title="Using the predefs">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="using_the_predefs.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="predef.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
This library defines a set of compiler, architecture, operating system, and
|
||||
library version numbers from the information it can gather of C++ predefined
|
||||
macros or those defined in generally available headers. The idea for this library
|
||||
grew out of a proposal to extend the Boost Config library to provide more,
|
||||
and consistent, information than the feature definitions it supports. What
|
||||
follows is an edited version of that brief proposal.
|
||||
</p>
|
||||
<h4>
|
||||
<a name="predef.introduction.h0"></a>
|
||||
<span><a name="predef.introduction.proposal"></a></span><a class="link" href="introduction.html#predef.introduction.proposal">Proposal</a>
|
||||
</h4>
|
||||
<p>
|
||||
The idea is to define a set of macros to identify compilers and consistently
|
||||
represent their version. This includes:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
A unique BOOST_VERSION_NUMBER(major,minor,patch) macro to specify version
|
||||
numbers (unfortunately, the name BOOST_VERSION is already taken to designate
|
||||
the version number of boost itself).
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A compiler identification macro, suitable for use in #if/#elif directives,
|
||||
for each of the supported compilers. All macros would be defined, regardless
|
||||
of the compiler. The one macro corresponding to the compiler being used
|
||||
would be defined, in terms of BOOST_VERSION_NUMBER, to carry the exact
|
||||
compiler version. All other macros would expand to an expression evaluating
|
||||
to false (for instance, the token 0) to indicate that the corresponding
|
||||
compiler is not present.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
"Null values" could be set, for all macros, in boost/config/select_compiler.hpp;
|
||||
then, for each compiler the corresponding identification macro would be
|
||||
#undef and re-#defined in the corresponding boost/compiler/(cc).hpp; however
|
||||
in the context of the Boost.Config infrastructure using a "prefix"
|
||||
header (to be introduced) or boost/config/suffix.hpp is a better solution.
|
||||
This point is further clarified later.
|
||||
</li>
|
||||
</ul></div>
|
||||
<h4>
|
||||
<a name="predef.introduction.h1"></a>
|
||||
<span><a name="predef.introduction.current_library"></a></span><a class="link" href="introduction.html#predef.introduction.current_library">Current
|
||||
Library</a>
|
||||
</h4>
|
||||
<p>
|
||||
The current Predef library is now, both an independent library, and expanded
|
||||
in scope. It includes detection and definition of architectures, compilers,
|
||||
languages, libraries, and operating systems. The key benefits are:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Version numbers that are always defined so that one doesn't have to guard
|
||||
with <code class="computeroutput"><span class="preprocessor">#ifdef</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
All possible definitions are included with the single <code class="computeroutput"><span class="preprocessor">#include</span>
|
||||
<span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span></code>
|
||||
so that it's friendly to precompiled header usage.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Predefs can be directly used in both preprocessor and compiler expressions
|
||||
for comparison to other similarly defined values.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The headers are usable from multiple languages, that support the C preprocessor.
|
||||
In particular C++, C, Objective C, and Objective C++.
|
||||
</li>
|
||||
</ul></div>
|
||||
<h4>
|
||||
<a name="predef.introduction.h2"></a>
|
||||
<span><a name="predef.introduction.design_choices"></a></span><a class="link" href="introduction.html#predef.introduction.design_choices">Design
|
||||
choices</a>
|
||||
</h4>
|
||||
<p>
|
||||
An important design choice concerns how to represent compiler versions by means
|
||||
of a single integer number suitable for use in preprocessing directives. Let's
|
||||
do some calculation. The "basic" signed type for preprocessing constant-expressions
|
||||
is long in C90 (and C++, as of 2006) and intmax_t in C99. The type long shall
|
||||
at least be able to represent the number <code class="literal">+2 147 483 647</code>.
|
||||
This means the most significant digit can only be 0, 1 or 2; and if we want
|
||||
all decimal digits to be able to vary between 0 and 9, the largest range we
|
||||
can consider is <code class="literal">[0, 999 999 999]</code>. Distributing evenly, this
|
||||
means 3 decimal digits for each version number part.
|
||||
</p>
|
||||
<p>
|
||||
So we can:
|
||||
</p>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
use an uneven distribution or
|
||||
</li>
|
||||
<li class="listitem">
|
||||
use more bits (a larger type) or
|
||||
</li>
|
||||
<li class="listitem">
|
||||
use 3/3/3 and have the particular compiler/platform/stdlib deal with setting
|
||||
the numbers within the 3-digit range.
|
||||
</li>
|
||||
</ol></div>
|
||||
<p>
|
||||
It appears relatively safe to go for the first option and set it at 2/2/5.
|
||||
That covers CodeWarrior and others, which are up to and past 10 for the major
|
||||
number. Some compilers use the build number in lieu of the patch one; five
|
||||
digits (which is already reached by VC++ 8) seems a reasonable limit even in
|
||||
this case.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
A 2/2/6 scheme would allow for bigger patch/build numbers at the cost, for
|
||||
instance, of limiting the major version number to 20 (or, with further constraints,
|
||||
to 21).
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<p>
|
||||
It might reassure the reader that this decision is actually encoded in one
|
||||
place in the code; the definition of <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code>.
|
||||
</p>
|
||||
<h4>
|
||||
<a name="predef.introduction.h3"></a>
|
||||
<span><a name="predef.introduction.future_work"></a></span><a class="link" href="introduction.html#predef.introduction.future_work">Future
|
||||
work</a>
|
||||
</h4>
|
||||
<p>
|
||||
Even though the basics of this library are done, there is much work that can
|
||||
be done:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Right now we limit the detection of libraries to known built-in predefined
|
||||
macros, and to guaranteed to exist system and library headers. It might
|
||||
be interesting to add something like auto-configuration predefs. This way
|
||||
we can add definitions for user specific libraries and features.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Along with the above, it might be good to add some user control as to which
|
||||
headers are included with the top-level header.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Additionally, even if there is no auto-configure style option.. It would
|
||||
be good to add optionally included headers so that user can get consistent
|
||||
version number definitions for libraries they use.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Having a consistent set of version number definitions opens the door to
|
||||
improving the user level syntax of libraries that do checks against version
|
||||
numbers. Specifically Boost Config's <code class="computeroutput"><span class="identifier">BOOST_WORKAROUND</span></code>
|
||||
macro would benefit from a more readable syntax. As would the <code class="computeroutput"><span class="identifier">BOOST_TESTED_AT</span></code> detail macro.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
And obviously there's lots of work to do in reformulating the existing
|
||||
Boost libraries to use the Predef library once it's accepted.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
And there's the continuing work of adding definitions for present and future
|
||||
compilers, platforms, architectures, languages, and libraries.
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2005 Rene Rivera<br>Copyright © 2008-2011 Redshift
|
||||
Software Inc<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="using_the_predefs.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
875
libs/predef/doc/html/predef/reference.html
Normal file
@ -0,0 +1,875 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Reference</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../index.html" title="Predef 1.0">
|
||||
<link rel="up" href="../index.html" title="Predef 1.0">
|
||||
<link rel="prev" href="adding_new_predefs.html" title="Adding new predefs">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adding_new_predefs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="predef.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="reference.html#predef.reference.boost_architecture_architecture_"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_</span></code> architecture macros</a></span></dt>
|
||||
<dt><span class="section"><a href="reference.html#predef.reference.boost_cxx_compiler_macros"><code class="computeroutput"><span class="identifier">BOOST_CXX_</span></code> compiler macros</a></span></dt>
|
||||
<dt><span class="section"><a href="reference.html#predef.reference.boost_language_language_standard"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_</span></code> language standards macros</a></span></dt>
|
||||
<dt><span class="section"><a href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr"><code class="computeroutput"><span class="identifier">BOOST_LIBC_</span></code> and <code class="computeroutput"><span class="identifier">BOOST_LIBSTD_</span></code>
|
||||
library macros</a></span></dt>
|
||||
<dt><span class="section"><a href="reference.html#predef.reference.boost_os_operating_system_macros"><code class="computeroutput"><span class="identifier">BOOST_OS_</span></code> operating system macros</a></span></dt>
|
||||
<dt><span class="section"><a href="reference.html#predef.reference.version_definition_macros">Version definition
|
||||
macros</a></span></dt>
|
||||
</dl></div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="predef.reference.boost_architecture_architecture_"></a><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_" title="BOOST_ARCHITECTURE_ architecture macros"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_</span></code> architecture macros</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h0"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_alpha"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_alpha"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_ALPHA</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/DEC_Alpha" target="_top">DEC Alpha</a> architecture:
|
||||
If available versions [4-6] are specifically detected.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h1"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_amd64"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_amd64"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_AMD64</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Amd64" target="_top">American Micro Devices AMD
|
||||
64</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h2"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_arm"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_arm"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_ARM</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/ARM_architecture" target="_top">ARM</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h3"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_convex"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_convex"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_CONVEX</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Convex_Computer" target="_top">Convex Computer</a>
|
||||
architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h4"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_ia64"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_ia64"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_IA64</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Ia64" target="_top">Intel IA-64</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h5"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_m68k"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_m68k"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_M68K</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/M68k" target="_top">Motorola 68k</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h6"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_mips"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_mips"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_MIPS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/MIPS_architecture" target="_top">MIPS</a>
|
||||
architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h7"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_parisk"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_parisk"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_PARISK</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/PA-RISC_family" target="_top">HP/PA RISC</a>
|
||||
architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h8"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_ppc"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_ppc"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_PPC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/PowerPC" target="_top">PowerPC</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h9"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_pyramid"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_pyramid"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_PYRAMID</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
Pyramid 9810 architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h10"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_rs6000"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_rs6000"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_RS6000</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/RS/6000" target="_top">RS/6000</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h11"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_sparc"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_sparc"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_SPARC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/SPARC" target="_top">SPARC</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h12"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_sh"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_sh"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_SH</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/SuperH" target="_top">SuperH</a> architecture:
|
||||
If available versions [1-5] are specifically detected.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h13"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_sys370"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_sys370"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_SYS370</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/System/370" target="_top">System/370</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h14"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_sys390"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_sys390"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_SYS390</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/System/390" target="_top">System/390</a> architecture.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h15"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_x86"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_x86"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_X86</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/X86" target="_top">Intel x86</a> architecture:
|
||||
If available versions [3-6] are specifically detected.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_architecture_architecture_.h16"></a>
|
||||
<span><a name="predef.reference.boost_architecture_architecture_.boost_architecture_z"></a></span><a class="link" href="reference.html#predef.reference.boost_architecture_architecture_.boost_architecture_z"><code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_Z</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Z/Architecture" target="_top">z/Architecture</a>
|
||||
architecture.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="predef.reference.boost_cxx_compiler_macros"></a><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros" title="BOOST_CXX_ compiler macros"><code class="computeroutput"><span class="identifier">BOOST_CXX_</span></code> compiler macros</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h0"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_borland"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_borland"><code class="computeroutput"><span class="identifier">BOOST_CXX_BORLAND</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Borland</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h1"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_como"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_como"><code class="computeroutput"><span class="identifier">BOOST_CXX_COMO</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Comeau</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h2"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_dec"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_dec"><code class="computeroutput"><span class="identifier">BOOST_CXX_DEC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Compaq DEC</a> compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h3"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_cygwin"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_cygwin"><code class="computeroutput"><span class="identifier">BOOST_CXX_CYGWIN</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Cygwin</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h4"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_diab"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_diab"><code class="computeroutput"><span class="identifier">BOOST_CXX_DIAB</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Diab</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h5"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_dmc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_dmc"><code class="computeroutput"><span class="identifier">BOOST_CXX_DMC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Digital Mars</a> compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h6"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_sysc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_sysc"><code class="computeroutput"><span class="identifier">BOOST_CXX_SYSC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Dignus SysC</a> compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h7"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_edg"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_edg"><code class="computeroutput"><span class="identifier">BOOST_CXX_EDG</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">EDG</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h8"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_path"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_path"><code class="computeroutput"><span class="identifier">BOOST_CXX_PATH</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Ekopath</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h9"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_gnuc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_gnuc"><code class="computeroutput"><span class="identifier">BOOST_CXX_GNUC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Gnu C/C++</a> compiler.
|
||||
Version number available as major, minor, and patch (if available).
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h10"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_gccxml"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_gccxml"><code class="computeroutput"><span class="identifier">BOOST_CXX_GCCXML</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">GCC XML</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h11"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_ghs"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_ghs"><code class="computeroutput"><span class="identifier">BOOST_CXX_GHS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Green Hills</a> compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h12"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_hpacc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_hpacc"><code class="computeroutput"><span class="identifier">BOOST_CXX_HPACC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">HP ACC</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h13"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_iar"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_iar"><code class="computeroutput"><span class="identifier">BOOST_CXX_IAR</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">IAR</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h14"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_ibm"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_ibm"><code class="computeroutput"><span class="identifier">BOOST_CXX_IBM</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Iternational Business Mchines</a>
|
||||
compiler. Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h15"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_intel"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_intel"><code class="computeroutput"><span class="identifier">BOOST_CXX_INTEL</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Intel</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h16"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_kcc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_kcc"><code class="computeroutput"><span class="identifier">BOOST_CXX_KCC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Kai</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h17"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_llvm"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_llvm"><code class="computeroutput"><span class="identifier">BOOST_CXX_LLVM</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">LLVM</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h18"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_highc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_highc"><code class="computeroutput"><span class="identifier">BOOST_CXX_HIGHC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Metaware HighC</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h19"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_mwerks"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_mwerks"><code class="computeroutput"><span class="identifier">BOOST_CXX_MWERKS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Metrowerks</a> compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h20"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_mri"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_mri"><code class="computeroutput"><span class="identifier">BOOST_CXX_MRI</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Microtec</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h21"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_mingw"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_mingw"><code class="computeroutput"><span class="identifier">BOOST_CXX_MINGW</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">MinGW</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h22"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_mpw"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_mpw"><code class="computeroutput"><span class="identifier">BOOST_CXX_MPW</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">MPW</a> compiler. Version
|
||||
number available as major, and minor.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h23"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_palm"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_palm"><code class="computeroutput"><span class="identifier">BOOST_CXX_PALM</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Palm</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h24"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_pgi"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_pgi"><code class="computeroutput"><span class="identifier">BOOST_CXX_PGI</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">PGI</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h25"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_sgi"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_sgi"><code class="computeroutput"><span class="identifier">BOOST_CXX_SGI</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">SGI Mips-pro</a> compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h26"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_sunpro"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_sunpro"><code class="computeroutput"><span class="identifier">BOOST_CXX_SUNPRO</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Sun Pro</a> compiler. Version
|
||||
number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h27"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_tendra"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_tendra"><code class="computeroutput"><span class="identifier">BOOST_CXX_TENDRA</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Tendra</a> compiler.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h28"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_msvc"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_msvc"><code class="computeroutput"><span class="identifier">BOOST_CXX_MSVC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Microsoft Visual C/C++</a>
|
||||
compiler. Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_cxx_compiler_macros.h29"></a>
|
||||
<span><a name="predef.reference.boost_cxx_compiler_macros.boost_cxx_watcom"></a></span><a class="link" href="reference.html#predef.reference.boost_cxx_compiler_macros.boost_cxx_watcom"><code class="computeroutput"><span class="identifier">BOOST_CXX_WATCOM</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Watcom</a> compiler. Version
|
||||
number available as major, and minor.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="predef.reference.boost_language_language_standard"></a><a class="link" href="reference.html#predef.reference.boost_language_language_standard" title="BOOST_LANGUAGE_ language standards macros"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_</span></code> language standards macros</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_language_language_standard.h0"></a>
|
||||
<span><a name="predef.reference.boost_language_language_standard.boost_language_objc"></a></span><a class="link" href="reference.html#predef.reference.boost_language_language_standard.boost_language_objc"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_OBJC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Objective-C" target="_top">Objective-C</a>
|
||||
language.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_language_language_standard.h1"></a>
|
||||
<span><a name="predef.reference.boost_language_language_standard.boost_language_stdc"></a></span><a class="link" href="reference.html#predef.reference.boost_language_language_standard.boost_language_stdc"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_STDC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/C_(programming_language)" target="_top">Standard
|
||||
C</a> language. If available, the year of the standard is detected as
|
||||
0.0.YYYY.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_language_language_standard.h2"></a>
|
||||
<span><a name="predef.reference.boost_language_language_standard.boost_language_stdcpp"></a></span><a class="link" href="reference.html#predef.reference.boost_language_language_standard.boost_language_stdcpp"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_STDCPP</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/C%2B%2B" target="_top">Standard C++</a> language.
|
||||
If available, the year of the standard is detected as 0.0.YYYY. Because of
|
||||
the way the C++ standardization process works the defined version year will
|
||||
not be the commonly known year standard. Specifically the defined versions
|
||||
will be:
|
||||
</p>
|
||||
<div class="table">
|
||||
<a name="predef.reference.boost_language_language_standard.detected_version_number_vs_c_sta"></a><p class="title"><b>Table 1. Detected Version Number vs. C++ Standard Year</b></p>
|
||||
<div class="table-contents"><table class="table" summary="Detected Version Number vs. C++ Standard Year">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Detected Version Number
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
Standard Year
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
C++ Standard
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
0.0.1997
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
1998
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
ISO/IEC 14882:1998
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
0.0.?
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
2003
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
ISO/IEC 14882:2003
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
0.0.?
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
2007
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
ISO/IEC TR 19768:2007
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
0.0.2011
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
2011
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
ISO/IEC 14882:2011
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<br class="table-break"><h5>
|
||||
<a name="predef.reference.boost_language_language_standard.h3"></a>
|
||||
<span><a name="predef.reference.boost_language_language_standard.boost_language_stdcppcli"></a></span><a class="link" href="reference.html#predef.reference.boost_language_language_standard.boost_language_stdcppcli"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_STDCPPCLI</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/C%2B%2B/CLI" target="_top">Standard C++/CLI</a>
|
||||
language. If available, the year of the standard is detected as 0.0.YYYY.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_language_language_standard.h4"></a>
|
||||
<span><a name="predef.reference.boost_language_language_standard.boost_language_stdecpp"></a></span><a class="link" href="reference.html#predef.reference.boost_language_language_standard.boost_language_stdecpp"><code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_STDECPP</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Embedded_C%2B%2B" target="_top">Standard Embedded
|
||||
C++</a> language.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr"></a><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr" title="BOOST_LIBC_ and BOOST_LIBSTD_ library macros"><code class="computeroutput"><span class="identifier">BOOST_LIBC_</span></code> and <code class="computeroutput"><span class="identifier">BOOST_LIBSTD_</span></code>
|
||||
library macros</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h0"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_gnu"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_gnu"><code class="computeroutput"><span class="identifier">BOOST_LIBC_GNU</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Glibc" target="_top">GNU glibc</a> Standard
|
||||
C library. Version number available as major, and minor.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h1"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_uc"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_uc"><code class="computeroutput"><span class="identifier">BOOST_LIBC_UC</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Uclibc" target="_top">uClibc</a> Standard
|
||||
C library. Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h2"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_vms"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_vms"><code class="computeroutput"><span class="identifier">BOOST_LIBC_VMS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
VMS libc Standard C library. Version number available as major, minor, and
|
||||
patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h3"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_zos"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libc_zos"><code class="computeroutput"><span class="identifier">BOOST_LIBC_ZOS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
z/OS libc Standard C library. Version number available as major, minor, and
|
||||
patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h4"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_cxx"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_cxx"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_CXX</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://libcxx.llvm.org/" target="_top">libc++</a> C++ Standard Library.
|
||||
If available version number as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h5"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_dinkumware"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_dinkumware"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_DINKUMWARE</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/Dinkumware" target="_top">Dinkumware</a> Standard
|
||||
C++ Library. If available version number as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h6"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_como"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_como"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_COMO</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://www.comeaucomputing.com/libcomo/" target="_top">Comeau Computing</a>
|
||||
Standard C++ Library. Version number available as major.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h7"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_msipl"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_msipl"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_MSIPL</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://modena.us/" target="_top">Modena Software Lib++</a> Standard C++
|
||||
Library.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h8"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_msl"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_msl"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_MSL</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://www.freescale.com/" target="_top">Metrowerks</a> Standard C++ Library.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h9"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_rw"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_rw"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_RW</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Roguewave Standard C++</a>
|
||||
library. If available version number as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h10"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_sgi"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_sgi"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_SGI</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">SGI Standard C++</a> library.
|
||||
If available version number as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h11"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_gnu"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_gnu"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_GNU</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://gcc.gnu.org/libstdc++/" target="_top">GNU libstdc++</a> Standard
|
||||
C++ library. Version number available as year (from 1970), month, and day.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h12"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_stlport"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_stlport"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_STLPORT</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">STLport Standard C++</a>
|
||||
library. Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_libc_and_boost_libstd_libr.h13"></a>
|
||||
<span><a name="predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_ibm"></a></span><a class="link" href="reference.html#predef.reference.boost_libc_and_boost_libstd_libr.boost_libstd_ibm"><code class="computeroutput"><span class="identifier">BOOST_LIBSTD_IBM</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">IBM VACPP Standard C++</a>
|
||||
library.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="predef.reference.boost_os_operating_system_macros"></a><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros" title="BOOST_OS_ operating system macros"><code class="computeroutput"><span class="identifier">BOOST_OS_</span></code> operating system macros</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_os_operating_system_macros.h0"></a>
|
||||
<span><a name="predef.reference.boost_os_operating_system_macros.boost_os"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os"><code class="computeroutput"><span class="identifier">BOOST_OS_</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">AIX</a> operating system.
|
||||
Version number available as major, minor, and patch.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_os_operating_system_macros.h1"></a>
|
||||
<span><a name="predef.reference.boost_os_operating_system_macros.boost_os_amigaos"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_amigaos"><code class="computeroutput"><span class="identifier">BOOST_OS_AMIGAOS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">AmigaOS</a> operating system.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_os_operating_system_macros.h2"></a>
|
||||
<span><a name="predef.reference.boost_os_operating_system_macros.boost_os_beos"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_beos"><code class="computeroutput"><span class="identifier">BOOST_OS_BEOS</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Be</a> operating system.
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.boost_os_operating_system_macros.h3"></a>
|
||||
<span><a name="predef.reference.boost_os_operating_system_macros.boost_os_bsd"></a></span><a class="link" href="reference.html#predef.reference.boost_os_operating_system_macros.boost_os_bsd"><code class="computeroutput"><span class="identifier">BOOST_OS_BSD</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">BSD</a> operating system.
|
||||
</p>
|
||||
<p>
|
||||
BSD has various branch operating systems possible and each detected individually.
|
||||
This detects the following variations and sets a specific version number
|
||||
macro to match:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_OS_DRAGONFLY_BSD</span></code>
|
||||
<a href="http://en.wikipedia.org/wiki/XXX" target="_top">Dragonfly BSD</a>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_OS_FREE_BSD</span></code> <a href="http://en.wikipedia.org/wiki/XXX" target="_top">Free BSD</a>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_OS_BSDI_BSD</span></code> <a href="http://en.wikipedia.org/wiki/XXX" target="_top">BSDI</a>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_OS_NET_BSD</span></code> <a href="http://en.wikipedia.org/wiki/XXX" target="_top">Net BSD</a>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_OS_OPEN_BSD</span></code> <a href="http://en.wikipedia.org/wiki/XXX" target="_top">Open BSD</a>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
The general <code class="computeroutput"><span class="identifier">BOOST_OS_BSD</span></code>
|
||||
is set in all cases to indicate some form of BSD. If the above variants
|
||||
is detected the corresponding macro is also set.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="predef.reference.version_definition_macros"></a><a class="link" href="reference.html#predef.reference.version_definition_macros" title="Version definition macros">Version definition
|
||||
macros</a>
|
||||
</h3></div></div></div>
|
||||
<h5>
|
||||
<a name="predef.reference.version_definition_macros.h0"></a>
|
||||
<span><a name="predef.reference.version_definition_macros.boost_version_number"></a></span><a class="link" href="reference.html#predef.reference.version_definition_macros.boost_version_number"><code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code></a>
|
||||
</h5>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="identifier">major</span><span class="special">,</span><span class="identifier">minor</span><span class="special">,</span><span class="identifier">patch</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Defines standard version numbers, with these properties:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Decimal base whole numbers in the range [0,1000000000). The number range
|
||||
is designed to allow for a (2,2,5) triplet. Which fits within a 32 bit
|
||||
value.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="identifier">major</span></code> number can
|
||||
be in the [0,99] range.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="identifier">minor</span></code> number can
|
||||
be in the [0,99] range.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="identifier">patch</span></code> number can
|
||||
be in the [0,99999] range.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Values can be specified in any base. As the defined value is an constant
|
||||
expression.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Value can be directly used in both preprocessor and compiler expressions
|
||||
for comparison to other similarly defined values.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The implementation enforces the individual ranges for the major, minor,
|
||||
and patch numbers. And values over the ranges are truncated (modulo).
|
||||
</li>
|
||||
</ul></div>
|
||||
<h5>
|
||||
<a name="predef.reference.version_definition_macros.h1"></a>
|
||||
<span><a name="predef.reference.version_definition_macros.boost_predef_make_f_macros"></a></span><a class="link" href="reference.html#predef.reference.version_definition_macros.boost_predef_make_f_macros"><code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_F</span><span class="special">..</span></code>
|
||||
macros</a>
|
||||
</h5>
|
||||
<p>
|
||||
These set of macros decompose common vendor version number macros which are
|
||||
composed of hexadecimal digits. The naming convention indicates what the
|
||||
format of the vendor version number. Where "<code class="computeroutput"><span class="identifier">F</span></code>"
|
||||
indicates a hexadecimal digit, "<code class="computeroutput"><span class="identifier">_</span></code>"
|
||||
separates the major/minor/patch parts of the version number, and "<code class="computeroutput"><span class="number">0</span></code>" indicates an ignored hexadecimal digit.
|
||||
Macros are:
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDER_MAKE_F_F_F</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_FF_F_F</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_F_F_FF</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_FF_FF</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_F_FF_FFFF</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_FF_FF_F</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_F_FF_FF_000</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<h5>
|
||||
<a name="predef.reference.version_definition_macros.h2"></a>
|
||||
<span><a name="predef.reference.version_definition_macros.boost_predef_make_n_macros"></a></span><a class="link" href="reference.html#predef.reference.version_definition_macros.boost_predef_make_n_macros"><code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_N</span><span class="special">..</span></code>
|
||||
macros</a>
|
||||
</h5>
|
||||
<p>
|
||||
These set of macros decompose common vendor version number macros which are
|
||||
composed of decimal digits. The naming convention indicates what the format
|
||||
of the vendor version number. Where "<code class="computeroutput"><span class="identifier">N</span></code>"
|
||||
indicates a decimal digit, "<code class="computeroutput"><span class="identifier">_</span></code>"
|
||||
separates the major/minor/patch parts of the version number, and "<code class="computeroutput"><span class="number">0</span></code>" indicates an ignored decimal digit.
|
||||
Macros are:
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_N_N_N</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_NN_NN_NN</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_NN_NN</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_N_N_NN</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_N_NN_NN</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_N_N_N_000</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_N_NN_000</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_NN_NN_00_NN_00</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_NN_00</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PREDEF_MAKE_YYYY_MM_DD</span><span class="special">(</span><span class="identifier">V</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2005 Rene Rivera<br>Copyright © 2008-2011 Redshift
|
||||
Software Inc<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="adding_new_predefs.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
218
libs/predef/doc/html/predef/using_the_predefs.html
Normal file
@ -0,0 +1,218 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Using the predefs</title>
|
||||
<link rel="stylesheet" href="../boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
||||
<link rel="home" href="../index.html" title="Predef 1.0">
|
||||
<link rel="up" href="../index.html" title="Predef 1.0">
|
||||
<link rel="prev" href="introduction.html" title="Introduction">
|
||||
<link rel="next" href="adding_new_predefs.html" title="Adding new predefs">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="introduction.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="adding_new_predefs.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="predef.using_the_predefs"></a><a class="link" href="using_the_predefs.html" title="Using the predefs">Using the predefs</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
To use the automatically defined predefs one needs to only include the single
|
||||
top-level header:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
This defines <span class="bold"><strong>all</strong></span> the version macros known
|
||||
to the library. For each macro it will be defined to either a <span class="emphasis"><em>zero</em></span>
|
||||
valued expression for when the particular item is not detected, and to a <span class="emphasis"><em>positive</em></span>
|
||||
value if it is detected. The predef macros fall onto the five categories each
|
||||
with macros of a particular prefix:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_ARCHITECTURE_</span></code>for
|
||||
system/CPU architecture one is compiling for.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_CXX_</span></code> for the compiler
|
||||
one is using.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_LANGUAGE_</span></code> for language
|
||||
standards one is compiling against.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_LIBC_</span></code> and <code class="computeroutput"><span class="identifier">BOOST_LIBSTD_</span></code> for the C and C++ standard
|
||||
library in use.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">BOOST_OS_</span></code> for the operating
|
||||
system we are compiling to.
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
The detected definitions are for the configuration one is targeting during
|
||||
the compile. In particular in a cross-compile this means the target system,
|
||||
and not the host system.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<p>
|
||||
One uses the individual definitions to compare against specific versions by
|
||||
comparing against the <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code>
|
||||
macro. For example, to make a choice based on the version of the GCC C++ compiler
|
||||
one would:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">BOOST_CXX_GNUC</span> <span class="special">>=</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">4</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">))</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"GCC compiler is at least version 4.0.0"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="keyword">else</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"GCC compiler is at older than version 4.0.0, or not a GCC compiler"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
As you might notice above the <code class="computeroutput"><span class="keyword">else</span></code>
|
||||
clause also covers the case where we the particular compiler is not detected.
|
||||
But one can make the test specifically test for the detection. All predef definitions
|
||||
are defined as a zero (0) expression when not detected. Hence one could use
|
||||
the detection with a natural single condition. For example:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">BOOST_CXX_GNUC</span><span class="special">)</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"This is GNU GCC!"</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="keyword">else</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Not GNU GCC."</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
And since the predef's are preprocessor definitions the same is possible from
|
||||
the preprocessor:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">predef</span><span class="special">.</span><span class="identifier">h</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="preprocessor">#if</span> <span class="identifier">BOOST_CXX_GNUC</span>
|
||||
<span class="preprocessor">#if</span> <span class="identifier">BOOST_CXX_GNUC</span> <span class="special">>=</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">4</span><span class="special">,</span><span class="number">0</span><span class="special">,</span><span class="number">0</span><span class="special">)</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">the_compiler</span> <span class="special">=</span> <span class="string">"GNU GCC, of at least version 4."</span>
|
||||
<span class="preprocessor">#else</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">the_compiler</span> <span class="special">=</span> <span class="string">"GNU GCC, less than version 4."</span>
|
||||
<span class="preprocessor">#endif</span>
|
||||
<span class="preprocessor">#else</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <span class="identifier">the_compiler</span> <span class="special">=</span> <span class="string">"Not GNU GCC."</span>
|
||||
<span class="preprocessor">#endif</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">the_compiler</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<h4>
|
||||
<a name="predef.using_the_predefs.h0"></a>
|
||||
<span><a name="predef.using_the_predefs.using_the_boost_version_number_m"></a></span><a class="link" href="using_the_predefs.html#predef.using_the_predefs.using_the_boost_version_number_m">Using the
|
||||
<code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code> macro</a>
|
||||
</h4>
|
||||
<p>
|
||||
All the predefs are defined to be a use of the <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code>
|
||||
macro. The macro takes individual major, minor, and patch value expressions:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span> <span class="identifier">major</span><span class="special">,</span> <span class="identifier">minor</span><span class="special">,</span> <span class="identifier">patch</span> <span class="special">)</span> <span class="special">...</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
The arguments are:
|
||||
</p>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
Major version number, as a constant value expression in the range [0,99].
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Minor version number, as a constant value expression in the range [0,99].
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Patch-level version number, as a constant value expression in the range
|
||||
[0,99999].
|
||||
</li>
|
||||
</ol></div>
|
||||
<p>
|
||||
The ranges for each are "enforced" by the use of a modulo ("%"),
|
||||
i.e. truncation, as opposed to a clamp. And hence this means that the limits
|
||||
are enforced only enough to keep from having out-of-range problems. But not
|
||||
enough to prevent other kinds of problems. Like exceeding the range and geting
|
||||
false detections, or non-detections. It is up to the individual predefs to
|
||||
ensure correct usage beyond the range guarantee.
|
||||
</p>
|
||||
<p>
|
||||
The values for the arguments can be any preprocessor valid constant value expression.
|
||||
Only constant value arithmetic is used in the definition of the <code class="computeroutput"><span class="identifier">BOOST_VERSION_NUMBER</span></code> macro and in any of
|
||||
the other predef macros. This means that any allowed base is possible, i.e.
|
||||
binary, octal, decimal, and hexadecimal. For example:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">MY_APPLICATION_VERSION_NUMBER</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">0xA</span><span class="special">,</span><span class="number">015</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Is equivalent to:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">MY_APPLICATION_VERSION_NUMBER</span> <span class="identifier">BOOST_VERSION_NUMBER</span><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">10</span><span class="special">,</span><span class="number">13</span><span class="special">)</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2005 Rene Rivera<br>Copyright © 2008-2011 Redshift
|
||||
Software Inc<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="introduction.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="adding_new_predefs.html"><img src="../images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
11
libs/predef/doc/html/reference.css
Normal file
@ -0,0 +1,11 @@
|
||||
/*============================================================================
|
||||
Copyright 2003-2004 Douglas Gregor
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompany-
|
||||
ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
============================================================================*/
|
||||
|
||||
PRE.synopsis {
|
||||
background-color: #e0ffff;
|
||||
border: thin solid blue;
|
||||
padding: 1em
|
||||
}
|
@ -9,9 +9,12 @@
|
||||
(See accompanying file LICENSE_1_0.txt or copy at
|
||||
[@http://www.boost.org/LICENSE_1_0.txt])
|
||||
]
|
||||
[source-mode teletype]
|
||||
[source-mode c++]
|
||||
]
|
||||
|
||||
[warning This is a *proposed* Boost Libnrary and *is not* part of the
|
||||
Boost C++ Libraries.]
|
||||
|
||||
[section Introduction]
|
||||
|
||||
This library defines a set of compiler, architecture, operating system,
|
||||
@ -49,7 +52,7 @@ consistently represent their version. This includes:
|
||||
|
||||
The current Predef library is now, both an independent library, and expanded
|
||||
in scope. It includes detection and definition of architectures, compilers,
|
||||
libraries, and operating systems. The key benefits are:
|
||||
languages, libraries, and operating systems. The key benefits are:
|
||||
|
||||
* Version numbers that are always defined so that one doesn't have to guard
|
||||
with `#ifdef`.
|
||||
@ -89,7 +92,7 @@ for instance, of limiting the major version number to 20 (or, with further
|
||||
constraints, to 21).]
|
||||
|
||||
It might reassure the reader that this decision is actually encoded in one place
|
||||
in the code; the definition of BOOST_VERSION_NUMBER.
|
||||
in the code; the definition of `BOOST_VERSION_NUMBER`.
|
||||
|
||||
[heading Future work]
|
||||
|
||||
@ -112,7 +115,7 @@ done:
|
||||
* And obviously there's lots of work to do in reformulating the existing
|
||||
Boost libraries to use the Predef library once it's accepted.
|
||||
* And there's the continuing work of adding definitions for present and
|
||||
future compilers, platforms, architectures, and libraries.
|
||||
future compilers, platforms, architectures, languages, and libraries.
|
||||
|
||||
[endsect] [/Introduction]
|
||||
|
||||
@ -128,11 +131,12 @@ single top-level header:
|
||||
This defines [*all] the version macros known to the library. For each
|
||||
macro it will be defined to either a /zero/ valued expression for when
|
||||
the particular item is not detected, and to a /positive/ value if it
|
||||
is detected. The predef macros fall onto the four categories each with
|
||||
is detected. The predef macros fall onto the five categories each with
|
||||
macros of a particular prefix:
|
||||
|
||||
* `BOOST_ARCHITECTURE_`for system/CPU architecture one is compiling for.
|
||||
* `BOOST_CXX_` for the compiler one is using.
|
||||
* `BOOST_LANGUAGE_` for language standards one is compiling against.
|
||||
* `BOOST_LIBC_` and `BOOST_LIBSTD_` for the C and C++ standard library
|
||||
in use.
|
||||
* `BOOST_OS_` for the operating system we are compiling to.
|
||||
@ -141,41 +145,149 @@ macros of a particular prefix:
|
||||
during the compile. In particular in a cross-compile this means the target
|
||||
system, and not the host system.]
|
||||
|
||||
One uses the individual definitions to compare against specific versions
|
||||
by comparing against the `BOOST_VERSION_NUMBER` macro. For example, to make
|
||||
a choice based on the version of the GCC C++ compiler one would:
|
||||
|
||||
``
|
||||
#include <boost/predef.h>
|
||||
#include <iostream>
|
||||
|
||||
#if (APPLICATION_VERSION >= BOOST_VERSION_NUMBER(1,0,0))
|
||||
bool application_is_at_least_version_1 = true;
|
||||
#else
|
||||
bool application_is_at_least_version_1 = false;
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
if (application_is_at_least_version_1)
|
||||
std::cout << "Application is at least version 1.0.0" << std::endl;
|
||||
if (APPLICATION_VERSION >= BOOST_VERSION_NUMBER(2,0,0))
|
||||
std::cout << "Application is at least version 2.0.0" << std::endl;
|
||||
if (BOOST_CXX_GNUC >= BOOST_VERSION_NUMBER(4,0,0))
|
||||
std::cout << "GCC compiler is at least version 4.0.0" << std::endl;
|
||||
else
|
||||
std::cout << "GCC compiler is at older than version 4.0.0, or not a GCC compiler" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
``
|
||||
|
||||
[heading Using existing version predefs]
|
||||
As you might notice above the `else` clause also covers the case where
|
||||
we the particular compiler is not detected. But one can make the test
|
||||
specifically test for the detection. All predef definitions are defined
|
||||
as a zero (0) expression when not detected. Hence one could use the
|
||||
detection with a natural single condition. For example:
|
||||
|
||||
``
|
||||
#include <boost/predef.h>
|
||||
#include <iostream>
|
||||
|
||||
int main()
|
||||
{
|
||||
if (BOOST_CXX_GNUC)
|
||||
std::cout << "This is GNU GCC!" << std::endl;
|
||||
else
|
||||
std::cout << "Not GNU GCC." << std::endl;
|
||||
return 0;
|
||||
}
|
||||
``
|
||||
|
||||
And since the predef's are preprocessor definitions the same is possible
|
||||
from the preprocessor:
|
||||
|
||||
``
|
||||
#include <boost/predef.h>
|
||||
#include <iostream>
|
||||
|
||||
#if BOOST_CXX_GNUC
|
||||
#if BOOST_CXX_GNUC >= BOOST_VERSION_NUMBER(4,0,0)
|
||||
const char * the_compiler = "GNU GCC, of at least version 4."
|
||||
#else
|
||||
const char * the_compiler = "GNU GCC, less than version 4."
|
||||
#endif
|
||||
#else
|
||||
const char * the_compiler = "Not GNU GCC."
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << the_compiler << std::endl;
|
||||
return 0;
|
||||
}
|
||||
``
|
||||
|
||||
[heading Using the `BOOST_VERSION_NUMBER` macro]
|
||||
|
||||
All the predefs are defined to be a use of the `BOOST_VERSION_NUMBER` macro.
|
||||
The macro takes individual major, minor, and patch value expressions:
|
||||
|
||||
``
|
||||
#define BOOST_VERSION_NUMBER( major, minor, patch ) ...
|
||||
``
|
||||
|
||||
The arguments are:
|
||||
|
||||
# Major version number, as a constant value expression in the range [0,99].
|
||||
# Minor version number, as a constant value expression in the range [0,99].
|
||||
# Patch-level version number, as a constant value expression in the
|
||||
range [0,99999].
|
||||
|
||||
The ranges for each are "enforced" by the use of a modulo ("%"), i.e. truncation,
|
||||
as opposed to a clamp. And hence this means that the limits are enforced only
|
||||
enough to keep from having out-of-range problems. But not enough to prevent
|
||||
other kinds of problems. Like exceeding the range and geting false detections,
|
||||
or non-detections. It is up to the individual predefs to ensure correct
|
||||
usage beyond the range guarantee.
|
||||
|
||||
The values for the arguments can be any preprocessor valid constant value expression.
|
||||
Only constant value arithmetic is used in the definition of the `BOOST_VERSION_NUMBER`
|
||||
macro and in any of the other predef macros. This means that any allowed base is
|
||||
possible, i.e. binary, octal, decimal, and hexadecimal. For example:
|
||||
|
||||
``
|
||||
#define MY_APPLICATION_VERSION_NUMBER BOOST_VERSION_NUMBER(2,0xA,015)
|
||||
``
|
||||
|
||||
Is equivalent to:
|
||||
|
||||
``
|
||||
#define MY_APPLICATION_VERSION_NUMBER BOOST_VERSION_NUMBER(2,10,13)
|
||||
``
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Adding new predefs]
|
||||
|
||||
We know that a library like this one will be an eternal work-in-progress. And
|
||||
as such we expect, and look forward to, others contributing corrections and
|
||||
additions to the predefs. With that in mind we need to keep a consistent way
|
||||
of defining the new predefs. Hence all current, and future, predefs follow
|
||||
the same structure and requirements.
|
||||
|
||||
[heading Requirements of the header]
|
||||
|
||||
All predefs need to follow a set of requirements:
|
||||
|
||||
* The headers must use the Boost Software License.
|
||||
* The predef must, by default, be defined as `BOOST_VERSION_NUMBER(0,0,0)`.
|
||||
* The predef must be redefined to a non-zero value once detected.
|
||||
* The predef must, by default, be defined to `BOOST_VERSION_NUMBER(0,0,1)`
|
||||
when the predef is detected.
|
||||
* If possible, the predef will be defined as the version number detected.
|
||||
* The predef must declare itself, after being defined, for the testing
|
||||
system.
|
||||
|
||||
And there are some extra guidelines that predef headers should follow:
|
||||
|
||||
* The detection should avoid including extra headers that might otherwise
|
||||
not be included by default.
|
||||
* If the detection must include a header, prefer guarding it within the
|
||||
detection if possible.
|
||||
* If the detection must include a headers unconditionally, and has a choice
|
||||
of headers to include, prefer the ones with the least impact. I.e.
|
||||
include the one with the minimal set of definitions and other
|
||||
dependencies.
|
||||
|
||||
[heading Structure of the header]
|
||||
|
||||
For general consistency it's suggested that new predef headers follow the
|
||||
structure below, as current predef headers do. First we have the copyright
|
||||
and license statement, followed by the include guard:
|
||||
|
||||
``
|
||||
/*
|
||||
Copyright Jane Doe 20xx
|
||||
Copyright Jane Doe YYYY
|
||||
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)
|
||||
@ -183,49 +295,117 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_PREDEF_category_tag_H
|
||||
#define BOOST_PREDEF_category_tag_H
|
||||
``
|
||||
|
||||
Depending on how you are defining the predef you will at minimum have
|
||||
to include the `version_number.h` header. But you might also want to
|
||||
include the `make.h` header for the version number decomposing utility
|
||||
macros:
|
||||
|
||||
``
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
``
|
||||
|
||||
The Predef library uses Quickbook for documentation and for the
|
||||
individual predefs to appear in the reference section we add in-code
|
||||
documentation followed by the zero-value default definition of the
|
||||
predef macro. We strongly recommend this particular placement of the
|
||||
documentation and default definition because some development
|
||||
environments automatically interpret this and provide in-line help
|
||||
for the macro. In particular this works for the popular Eclipse IDE:
|
||||
|
||||
``
|
||||
/*`
|
||||
[heading `BOOST_category_tag`]
|
||||
|
||||
Documentation about what is detected.
|
||||
*/
|
||||
|
||||
#define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,0)
|
||||
``
|
||||
|
||||
#if defined(condition)
|
||||
Next is the detection and definition of the particular predef. The
|
||||
structure for this is to do a single overall check (`condition_a`) and
|
||||
place the further version detection inside this. The first action inside
|
||||
the overall check is to "`#undef BOOST_category_tag`" which undefines
|
||||
the zero-value default. The rest is up to the you how to do the checks
|
||||
for defining the version. But at minimum it must
|
||||
"`#define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1)`" as the fallback
|
||||
to minimally indicate that the predef was detected:
|
||||
|
||||
``
|
||||
#if (condition_a)
|
||||
#undef BOOST_category_tag
|
||||
#if defined(condition)
|
||||
#define BOOST_category_tag BOOST_VERSION_NUMBER(1,0,0)
|
||||
#elif defined(__alpha_ev5__)
|
||||
#define BOOST_category_tag BOOST_VERSION_NUMBER(2,0,0)
|
||||
#if (condition_b)
|
||||
#define BOOST_category_tag BOOST_VERSION_NUMBER(major,minor,patch)
|
||||
#else
|
||||
#define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1)
|
||||
#endif
|
||||
#endif
|
||||
``
|
||||
|
||||
The testing of the predef macros is automated to generate checks for all
|
||||
the defined predefs, whether detected or not. To do this we need to
|
||||
declare the predef to the test system. This declaration is empty for
|
||||
regular use. And during the test programs theexpand out specially
|
||||
to create informational output:
|
||||
|
||||
``
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_categiry_tag,"Name")
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_category_tag,"Name")
|
||||
``
|
||||
|
||||
And, of course, we last need to close out the include guard:
|
||||
|
||||
``
|
||||
#endif
|
||||
``
|
||||
|
||||
[heading Using utility pattern macros]
|
||||
|
||||
By including:
|
||||
|
||||
``
|
||||
#include <boost/predef/make.h>
|
||||
``
|
||||
|
||||
One will get a set utlity macros to decompose common version
|
||||
macros as defined by compilers. For example the EDG compiler
|
||||
uses a simple 3-digit version macro (M,N,P). It can be decomesed
|
||||
and defined as:
|
||||
|
||||
``
|
||||
#define BOOST_CXX_EDG BOOST_PREDEF_MAKE_N_N_N(__EDG_VERSION__)
|
||||
``
|
||||
|
||||
The decomposition macros are split into three types: decimal
|
||||
decomposition, hexadecimal decomposition, and date decomposition.
|
||||
They follow the format of using "N" for decimal, "F" for hexadecimal,
|
||||
and "Y", "M", "D" for dates.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Reference]
|
||||
|
||||
[section `BOOST_ARCHITECTURE_` architecture macros]
|
||||
[/import ../../../boost/predef/architecture/.*\.h]
|
||||
[include ../../../boost/predef/architecture/*.h]
|
||||
[endsect]
|
||||
|
||||
[section `BOOST_CXX_` compiler macros]
|
||||
[/import ../../../boost/predef/compiler/.*\.h]
|
||||
[include ../../../boost/predef/compiler/*.h]
|
||||
[endsect]
|
||||
|
||||
[section `BOOST_LANGUAGE_` language standards macros]
|
||||
[include ../../../boost/predef/language/*.h]
|
||||
[endsect]
|
||||
|
||||
[section `BOOST_LIBC_` and `BOOST_LIBSTD_` library macros]
|
||||
[/import ../../../boost/predef/library/.*/.*\.h]
|
||||
[include ../../../boost/predef/library/*/*.h]
|
||||
[endsect]
|
||||
|
||||
[section `BOOST_OS_` operating system macros]
|
||||
[/import ../../../boost/predef/os/.*\.h]
|
||||
[include ../../../boost/predef/os/*.h]
|
||||
[endsect]
|
||||
|
||||
[section Version definition macros]
|
||||
|
@ -11,9 +11,11 @@ project test
|
||||
|
||||
using testing ;
|
||||
|
||||
run info_as_cpp.cpp ;
|
||||
run info_as_c.c ;
|
||||
run info_as_objcpp.mm ;
|
||||
run info_as_objc.m ;
|
||||
run version.cpp ;
|
||||
run make.cpp ;
|
||||
test-suite config :
|
||||
[ run info_as_cpp.cpp : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_c.c : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_objcpp.mm : : : <test-info>always_show_run_output ]
|
||||
[ run info_as_objc.m : : : <test-info>always_show_run_output ]
|
||||
[ run version.cpp ]
|
||||
[ run make.cpp ]
|
||||
;
|
||||
|