diff --git a/boost/predef/compiler/borland.h b/boost/predef/compiler/borland.h index ff2b044..87283c6 100644 --- a/boost/predef/compiler/borland.h +++ b/boost/predef/compiler/borland.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/comeau.h b/boost/predef/compiler/comeau.h index 97fd9be..361bca2 100644 --- a/boost/predef/compiler/comeau.h +++ b/boost/predef/compiler/comeau.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) @@ -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__) diff --git a/boost/predef/compiler/compaq.h b/boost/predef/compiler/compaq.h index fc98d1f..14192f0 100644 --- a/boost/predef/compiler/compaq.h +++ b/boost/predef/compiler/compaq.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/cygwin.h b/boost/predef/compiler/cygwin.h index efc320a..766d3cd 100644 --- a/boost/predef/compiler/cygwin.h +++ b/boost/predef/compiler/cygwin.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/diab.h b/boost/predef/compiler/diab.h index 1460348..90188cb 100644 --- a/boost/predef/compiler/diab.h +++ b/boost/predef/compiler/diab.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/digitalmars.h b/boost/predef/compiler/digitalmars.h index 01aa476..e918e1e 100644 --- a/boost/predef/compiler/digitalmars.h +++ b/boost/predef/compiler/digitalmars.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/dignus.h b/boost/predef/compiler/dignus.h index fb3e9c2..a061fea 100644 --- a/boost/predef/compiler/dignus.h +++ b/boost/predef/compiler/dignus.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/edg.h b/boost/predef/compiler/edg.h index 5400193..d302218 100644 --- a/boost/predef/compiler/edg.h +++ b/boost/predef/compiler/edg.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/ekopath.h b/boost/predef/compiler/ekopath.h index cb41746..e1cc5e5 100644 --- a/boost/predef/compiler/ekopath.h +++ b/boost/predef/compiler/ekopath.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/gcc.h b/boost/predef/compiler/gcc.h index 72eae70..af5cd9a 100644 --- a/boost/predef/compiler/gcc.h +++ b/boost/predef/compiler/gcc.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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_DECLARE_TEST(BOOST_CXX_GNUC,"GNUC") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GNUC,"Gnu C/C++") #endif diff --git a/boost/predef/compiler/gcc_xml.h b/boost/predef/compiler/gcc_xml.h index 111f55c..2666fb2 100644 --- a/boost/predef/compiler/gcc_xml.h +++ b/boost/predef/compiler/gcc_xml.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/greenhills.h b/boost/predef/compiler/greenhills.h index f95d6e5..a2cdd73 100644 --- a/boost/predef/compiler/greenhills.h +++ b/boost/predef/compiler/greenhills.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/hp_acc.h b/boost/predef/compiler/hp_acc.h index c79ff0a..8538774 100644 --- a/boost/predef/compiler/hp_acc.h +++ b/boost/predef/compiler/hp_acc.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/iar.h b/boost/predef/compiler/iar.h index 9efca6d..8f9e384 100644 --- a/boost/predef/compiler/iar.h +++ b/boost/predef/compiler/iar.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/ibm.h b/boost/predef/compiler/ibm.h index f6d1bc8..8af9c3d 100644 --- a/boost/predef/compiler/ibm.h +++ b/boost/predef/compiler/ibm.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/intel.h b/boost/predef/compiler/intel.h index 42ed517..3a5da7c 100644 --- a/boost/predef/compiler/intel.h +++ b/boost/predef/compiler/intel.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) || \ diff --git a/boost/predef/compiler/kai.h b/boost/predef/compiler/kai.h index 55b079b..d26afb4 100644 --- a/boost/predef/compiler/kai.h +++ b/boost/predef/compiler/kai.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/llvm.h b/boost/predef/compiler/llvm.h index 89b14b8..e5c31e6 100644 --- a/boost/predef/compiler/llvm.h +++ b/boost/predef/compiler/llvm.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/metaware.h b/boost/predef/compiler/metaware.h index 6ea0eae..3bffd3c 100644 --- a/boost/predef/compiler/metaware.h +++ b/boost/predef/compiler/metaware.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/metrowerks.h b/boost/predef/compiler/metrowerks.h index 922ca6f..fe20b41 100644 --- a/boost/predef/compiler/metrowerks.h +++ b/boost/predef/compiler/metrowerks.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,30 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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 diff --git a/boost/predef/compiler/microtec.h b/boost/predef/compiler/microtec.h index 8cebec4..68447ee 100644 --- a/boost/predef/compiler/microtec.h +++ b/boost/predef/compiler/microtec.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/mingw.h b/boost/predef/compiler/mingw.h index bb1e561..1d65613 100644 --- a/boost/predef/compiler/mingw.h +++ b/boost/predef/compiler/mingw.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/mpw.h b/boost/predef/compiler/mpw.h index e788c3a..4413fa2 100644 --- a/boost/predef/compiler/mpw.h +++ b/boost/predef/compiler/mpw.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/palm.h b/boost/predef/compiler/palm.h index f057a46..08a459c 100644 --- a/boost/predef/compiler/palm.h +++ b/boost/predef/compiler/palm.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/pgi.h b/boost/predef/compiler/pgi.h index 1ff991b..00286f2 100644 --- a/boost/predef/compiler/pgi.h +++ b/boost/predef/compiler/pgi.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/sgi_mipspro.h b/boost/predef/compiler/sgi_mipspro.h index b400809..888c031 100644 --- a/boost/predef/compiler/sgi_mipspro.h +++ b/boost/predef/compiler/sgi_mipspro.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/sunpro.h b/boost/predef/compiler/sunpro.h index e476a93..04a9cd6 100644 --- a/boost/predef/compiler/sunpro.h +++ b/boost/predef/compiler/sunpro.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/tendra.h b/boost/predef/compiler/tendra.h index acb4946..3deb43d 100644 --- a/boost/predef/compiler/tendra.h +++ b/boost/predef/compiler/tendra.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/compiler/visualc.h b/boost/predef/compiler/visualc.h index 210c369..3f9683e 100644 --- a/boost/predef/compiler/visualc.h +++ b/boost/predef/compiler/visualc.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/compiler/watcom.h b/boost/predef/compiler/watcom.h index f5f7cd9..b94b321 100644 --- a/boost/predef/compiler/watcom.h +++ b/boost/predef/compiler/watcom.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/language/objc.h b/boost/predef/language/objc.h index 5879fce..b31f9be 100644 --- a/boost/predef/language/objc.h +++ b/boost/predef/language/objc.h @@ -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_DECLARE_TEST(BOOST_LANGUAGE_OBJC,"Objective C") +BOOST_PREDEF_DECLARE_TEST(BOOST_LANGUAGE_OBJC,"Objective-C") #endif diff --git a/boost/predef/language/stdc.h b/boost/predef/language/stdc.h index 6370886..d376dba 100644 --- a/boost/predef/language/stdc.h +++ b/boost/predef/language/stdc.h @@ -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) diff --git a/boost/predef/language/stdcpp.h b/boost/predef/language/stdcpp.h index e7ef26f..d2a32cd 100644 --- a/boost/predef/language/stdcpp.h +++ b/boost/predef/language/stdcpp.h @@ -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) diff --git a/boost/predef/library/c/gnu.h b/boost/predef/library/c/gnu.h index cf32012..fcf7a93 100644 --- a/boost/predef/library/c/gnu.h +++ b/boost/predef/library/c/gnu.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) @@ -17,6 +17,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #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__) diff --git a/boost/predef/library/c/uc.h b/boost/predef/library/c/uc.h index 05e268f..037039c 100644 --- a/boost/predef/library/c/uc.h +++ b/boost/predef/library/c/uc.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/library/c/vms.h b/boost/predef/library/c/vms.h index 5c3fc56..b6b60b3 100644 --- a/boost/predef/library/c/vms.h +++ b/boost/predef/library/c/vms.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/library/c/zos.h b/boost/predef/library/c/zos.h index e1f9351..bb8bcd3 100644 --- a/boost/predef/library/c/zos.h +++ b/boost/predef/library/c/zos.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,14 +11,27 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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_DECLARE_TEST(BOOST_LIBC_ZOS,"zOS") +BOOST_PREDEF_DECLARE_TEST(BOOST_LIBC_ZOS,"z/OS") #endif diff --git a/boost/predef/library/std.h b/boost/predef/library/std.h index d5f0187..d9b947f 100644 --- a/boost/predef/library/std.h +++ b/boost/predef/library/std.h @@ -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 #include #include #include diff --git a/boost/predef/library/std/cxx.h b/boost/predef/library/std/cxx.h new file mode 100644 index 0000000..0c2a970 --- /dev/null +++ b/boost/predef/library/std/cxx.h @@ -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 +#include + +/*` +[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_DECLARE_TEST(BOOST_LIBSTD_CXX,"libc++") + +#endif diff --git a/boost/predef/library/std/dinkumware.h b/boost/predef/library/std/dinkumware.h index c7b9081..2ad24ef 100644 --- a/boost/predef/library/std/dinkumware.h +++ b/boost/predef/library/std/dinkumware.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/library/std/libcomo.h b/boost/predef/library/std/libcomo.h index 7de99f3..693856e 100644 --- a/boost/predef/library/std/libcomo.h +++ b/boost/predef/library/std/libcomo.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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_DECLARE_TEST(BOOST_LIBSTD_COMO,"Como") +BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_COMO,"Comeau Computing") #endif diff --git a/boost/predef/library/std/modena.h b/boost/predef/library/std/modena.h index 2439cff..660137d 100644 --- a/boost/predef/library/std/modena.h +++ b/boost/predef/library/std/modena.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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_DECLARE_TEST(BOOST_LIBSTD_MSIPL,"Modena MSIPL") +BOOST_PREDEF_DECLARE_TEST(BOOST_LIBSTD_MSIPL,"Modena Software Lib++") #endif diff --git a/boost/predef/library/std/msl.h b/boost/predef/library/std/msl.h index d78b0b5..b3d259c 100644 --- a/boost/predef/library/std/msl.h +++ b/boost/predef/library/std/msl.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/library/std/roguewave.h b/boost/predef/library/std/roguewave.h index 22be74a..ca31bac 100644 --- a/boost/predef/library/std/roguewave.h +++ b/boost/predef/library/std/roguewave.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/library/std/sgi.h b/boost/predef/library/std/sgi.h index b5b58a0..da8c5d3 100644 --- a/boost/predef/library/std/sgi.h +++ b/boost/predef/library/std/sgi.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/library/std/stdcpp3.h b/boost/predef/library/std/stdcpp3.h index 00ada66..d33811c 100644 --- a/boost/predef/library/std/stdcpp3.h +++ b/boost/predef/library/std/stdcpp3.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 #include +/*` +[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 diff --git a/boost/predef/library/std/stlport.h b/boost/predef/library/std/stlport.h index 89aa0b1..517de43 100644 --- a/boost/predef/library/std/stlport.h +++ b/boost/predef/library/std/stlport.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,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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) diff --git a/boost/predef/library/std/vacpp.h b/boost/predef/library/std/vacpp.h index f5fd75a..a243b7e 100644 --- a/boost/predef/library/std/vacpp.h +++ b/boost/predef/library/std/vacpp.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/os/aix.h b/boost/predef/os/aix.h index f94d6ed..ba53c46 100644 --- a/boost/predef/os/aix.h +++ b/boost/predef/os/aix.h @@ -11,6 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/os/amigaos.h b/boost/predef/os/amigaos.h index 356fbb2..a19d119 100644 --- a/boost/predef/os/amigaos.h +++ b/boost/predef/os/amigaos.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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_DECLARE_TEST(BOOST_OS_AMIGAOS,"Amiga OS") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AMIGAOS,"AmigaOS") #endif diff --git a/boost/predef/os/beos.h b/boost/predef/os/beos.h index fd17f8a..d041cf3 100644 --- a/boost/predef/os/beos.h +++ b/boost/predef/os/beos.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,6 +11,12 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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__) diff --git a/boost/predef/os/bsd.h b/boost/predef/os/bsd.h index aedefda..e06bca2 100644 --- a/boost/predef/os/bsd.h +++ b/boost/predef/os/bsd.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,6 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include +/*` +[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 diff --git a/boost/predef/version_number.h b/boost/predef/version_number.h index cac089f..ef4506c 100644 --- a/boost/predef/version_number.h +++ b/boost/predef/version_number.h @@ -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 diff --git a/libs/predef/doc/build.jam b/libs/predef/doc/build.jam index 2833e60..a8ec20a 100644 --- a/libs/predef/doc/build.jam +++ b/libs/predef/doc/build.jam @@ -13,6 +13,8 @@ if ! $(BOOST_ROOT) xml predef : predef.qbk + : + $(BOOST_PREDEF_ROOT)/boost/predef.h ; explicit predef ; @@ -21,7 +23,7 @@ boostbook standalone predef : boost.root=../../.. - generate.section.toc.level=3 + #generate.section.toc.level=3 chunk.section.depth=1 chunk.first.sections=1 diff --git a/libs/predef/doc/html/boostbook.css b/libs/predef/doc/html/boostbook.css new file mode 100644 index 0000000..f106e46 --- /dev/null +++ b/libs/predef/doc/html/boostbook.css @@ -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; + } + diff --git a/libs/predef/doc/html/docutils.css b/libs/predef/doc/html/docutils.css new file mode 100644 index 0000000..4aa2e21 --- /dev/null +++ b/libs/predef/doc/html/docutils.css @@ -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 } diff --git a/libs/predef/doc/html/images/alert.png b/libs/predef/doc/html/images/alert.png new file mode 100644 index 0000000..b4645bc Binary files /dev/null and b/libs/predef/doc/html/images/alert.png differ diff --git a/libs/predef/doc/html/images/blank.png b/libs/predef/doc/html/images/blank.png new file mode 100644 index 0000000..764bf4f Binary files /dev/null and b/libs/predef/doc/html/images/blank.png differ diff --git a/libs/predef/doc/html/images/callouts/1.png b/libs/predef/doc/html/images/callouts/1.png new file mode 100644 index 0000000..6003ad3 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/1.png differ diff --git a/libs/predef/doc/html/images/callouts/10.png b/libs/predef/doc/html/images/callouts/10.png new file mode 100644 index 0000000..0426f51 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/10.png differ diff --git a/libs/predef/doc/html/images/callouts/11.png b/libs/predef/doc/html/images/callouts/11.png new file mode 100644 index 0000000..821afc4 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/11.png differ diff --git a/libs/predef/doc/html/images/callouts/12.png b/libs/predef/doc/html/images/callouts/12.png new file mode 100644 index 0000000..7cec727 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/12.png differ diff --git a/libs/predef/doc/html/images/callouts/13.png b/libs/predef/doc/html/images/callouts/13.png new file mode 100644 index 0000000..5b41e02 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/13.png differ diff --git a/libs/predef/doc/html/images/callouts/14.png b/libs/predef/doc/html/images/callouts/14.png new file mode 100644 index 0000000..de5bdbd Binary files /dev/null and b/libs/predef/doc/html/images/callouts/14.png differ diff --git a/libs/predef/doc/html/images/callouts/15.png b/libs/predef/doc/html/images/callouts/15.png new file mode 100644 index 0000000..3fd6ac3 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/15.png differ diff --git a/libs/predef/doc/html/images/callouts/2.png b/libs/predef/doc/html/images/callouts/2.png new file mode 100644 index 0000000..f7c1578 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/2.png differ diff --git a/libs/predef/doc/html/images/callouts/3.png b/libs/predef/doc/html/images/callouts/3.png new file mode 100644 index 0000000..3ff0a93 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/3.png differ diff --git a/libs/predef/doc/html/images/callouts/4.png b/libs/predef/doc/html/images/callouts/4.png new file mode 100644 index 0000000..6aa29fc Binary files /dev/null and b/libs/predef/doc/html/images/callouts/4.png differ diff --git a/libs/predef/doc/html/images/callouts/5.png b/libs/predef/doc/html/images/callouts/5.png new file mode 100644 index 0000000..36e7858 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/5.png differ diff --git a/libs/predef/doc/html/images/callouts/6.png b/libs/predef/doc/html/images/callouts/6.png new file mode 100644 index 0000000..c943676 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/6.png differ diff --git a/libs/predef/doc/html/images/callouts/7.png b/libs/predef/doc/html/images/callouts/7.png new file mode 100644 index 0000000..20940de Binary files /dev/null and b/libs/predef/doc/html/images/callouts/7.png differ diff --git a/libs/predef/doc/html/images/callouts/8.png b/libs/predef/doc/html/images/callouts/8.png new file mode 100644 index 0000000..d8e34d4 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/8.png differ diff --git a/libs/predef/doc/html/images/callouts/9.png b/libs/predef/doc/html/images/callouts/9.png new file mode 100644 index 0000000..abe6360 Binary files /dev/null and b/libs/predef/doc/html/images/callouts/9.png differ diff --git a/libs/predef/doc/html/images/caution.png b/libs/predef/doc/html/images/caution.png new file mode 100644 index 0000000..5b7809c Binary files /dev/null and b/libs/predef/doc/html/images/caution.png differ diff --git a/libs/predef/doc/html/images/draft.png b/libs/predef/doc/html/images/draft.png new file mode 100644 index 0000000..0084708 Binary files /dev/null and b/libs/predef/doc/html/images/draft.png differ diff --git a/libs/predef/doc/html/images/home.png b/libs/predef/doc/html/images/home.png new file mode 100644 index 0000000..5584aac Binary files /dev/null and b/libs/predef/doc/html/images/home.png differ diff --git a/libs/predef/doc/html/images/important.png b/libs/predef/doc/html/images/important.png new file mode 100644 index 0000000..12c90f6 Binary files /dev/null and b/libs/predef/doc/html/images/important.png differ diff --git a/libs/predef/doc/html/images/next.png b/libs/predef/doc/html/images/next.png new file mode 100644 index 0000000..59800b4 Binary files /dev/null and b/libs/predef/doc/html/images/next.png differ diff --git a/libs/predef/doc/html/images/next_disabled.png b/libs/predef/doc/html/images/next_disabled.png new file mode 100644 index 0000000..10a8c59 Binary files /dev/null and b/libs/predef/doc/html/images/next_disabled.png differ diff --git a/libs/predef/doc/html/images/note.png b/libs/predef/doc/html/images/note.png new file mode 100644 index 0000000..d0c3c64 Binary files /dev/null and b/libs/predef/doc/html/images/note.png differ diff --git a/libs/predef/doc/html/images/prev.png b/libs/predef/doc/html/images/prev.png new file mode 100644 index 0000000..d88a40f Binary files /dev/null and b/libs/predef/doc/html/images/prev.png differ diff --git a/libs/predef/doc/html/images/prev_disabled.png b/libs/predef/doc/html/images/prev_disabled.png new file mode 100644 index 0000000..ab3c17e Binary files /dev/null and b/libs/predef/doc/html/images/prev_disabled.png differ diff --git a/libs/predef/doc/html/images/smiley.png b/libs/predef/doc/html/images/smiley.png new file mode 100644 index 0000000..30a77f7 Binary files /dev/null and b/libs/predef/doc/html/images/smiley.png differ diff --git a/libs/predef/doc/html/images/tip.png b/libs/predef/doc/html/images/tip.png new file mode 100644 index 0000000..5c4aab3 Binary files /dev/null and b/libs/predef/doc/html/images/tip.png differ diff --git a/libs/predef/doc/html/images/toc-blank.png b/libs/predef/doc/html/images/toc-blank.png new file mode 100644 index 0000000..6ffad17 Binary files /dev/null and b/libs/predef/doc/html/images/toc-blank.png differ diff --git a/libs/predef/doc/html/images/toc-minus.png b/libs/predef/doc/html/images/toc-minus.png new file mode 100644 index 0000000..abbb020 Binary files /dev/null and b/libs/predef/doc/html/images/toc-minus.png differ diff --git a/libs/predef/doc/html/images/toc-plus.png b/libs/predef/doc/html/images/toc-plus.png new file mode 100644 index 0000000..941312c Binary files /dev/null and b/libs/predef/doc/html/images/toc-plus.png differ diff --git a/libs/predef/doc/html/images/up.png b/libs/predef/doc/html/images/up.png new file mode 100644 index 0000000..17d9c3e Binary files /dev/null and b/libs/predef/doc/html/images/up.png differ diff --git a/libs/predef/doc/html/images/up_disabled.png b/libs/predef/doc/html/images/up_disabled.png new file mode 100644 index 0000000..e22bc87 Binary files /dev/null and b/libs/predef/doc/html/images/up_disabled.png differ diff --git a/libs/predef/doc/html/images/warning.png b/libs/predef/doc/html/images/warning.png new file mode 100644 index 0000000..1c33db8 Binary files /dev/null and b/libs/predef/doc/html/images/warning.png differ diff --git a/libs/predef/doc/html/index.html b/libs/predef/doc/html/index.html new file mode 100644 index 0000000..b87e7f7 --- /dev/null +++ b/libs/predef/doc/html/index.html @@ -0,0 +1,70 @@ + + + +Predef 1.0 + + + + + + +
+
+
Next
+
+
+
+

+Predef 1.0

+

+Rene Rivera +

+
+
+
+

+ 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) +

+
+
+
+
+ +
+ + + + + +
[Warning]Warning

+ This is a proposed Boost Libnrary and is not part of the Boost C++ Libraries. +

+
+ + + +

Last revised: November 30, 2011 at 05:42:16 GMT

+
+
Next
+ + diff --git a/libs/predef/doc/html/minimal.css b/libs/predef/doc/html/minimal.css new file mode 100644 index 0000000..401b73e --- /dev/null +++ b/libs/predef/doc/html/minimal.css @@ -0,0 +1,22 @@ +/* + + © 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 ***/ \ No newline at end of file diff --git a/libs/predef/doc/html/predef/adding_new_predefs.html b/libs/predef/doc/html/predef/adding_new_predefs.html new file mode 100644 index 0000000..cefa8d4 --- /dev/null +++ b/libs/predef/doc/html/predef/adding_new_predefs.html @@ -0,0 +1,224 @@ + + + +Adding new predefs + + + + + + + + +
+
+
+PrevUpHomeNext +
+
+ +

+ 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. +

+

+ + 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. +
  • +
+

+ + 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 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)
+*/
+
+#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)
+
+

+

+

+ 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 (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_category_tag,"Name")
+
+

+

+

+ And, of course, we last need to close out the include guard: +

+

+

+
#endif
+
+

+

+

+ + 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. +

+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/libs/predef/doc/html/predef/introduction.html b/libs/predef/doc/html/predef/introduction.html new file mode 100644 index 0000000..df0df4a --- /dev/null +++ b/libs/predef/doc/html/predef/introduction.html @@ -0,0 +1,199 @@ + + + +Introduction + + + + + + + + +
+
+
+PrevUpHomeNext +
+
+ +

+ 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. +

+

+ + Proposal +

+

+ The idea is to define a set of macros to identify compilers and consistently + represent their version. This includes: +

+
    +
  • + 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). +
  • +
  • + 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. +
  • +
  • + "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. +
  • +
+

+ + Current + Library +

+

+ 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: +

+
    +
  • + Version numbers that are always defined so that one doesn't have to guard + with #ifdef. +
  • +
  • + All possible definitions are included with the single #include + <boost/predef.h> + so that it's friendly to precompiled header usage. +
  • +
  • + Predefs can be directly used in both preprocessor and compiler expressions + for comparison to other similarly defined values. +
  • +
  • + The headers are usable from multiple languages, that support the C preprocessor. + In particular C++, C, Objective C, and Objective C++. +
  • +
+

+ + Design + choices +

+

+ 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 +2 147 483 647. + 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 [0, 999 999 999]. Distributing evenly, this + means 3 decimal digits for each version number part. +

+

+ So we can: +

+
    +
  1. + use an uneven distribution or +
  2. +
  3. + use more bits (a larger type) or +
  4. +
  5. + use 3/3/3 and have the particular compiler/platform/stdlib deal with setting + the numbers within the 3-digit range. +
  6. +
+

+ 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. +

+
+ + + + + +
[Note]Note

+ 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). +

+

+ It might reassure the reader that this decision is actually encoded in one + place in the code; the definition of BOOST_VERSION_NUMBER. +

+

+ + Future + work +

+

+ Even though the basics of this library are done, there is much work that can + be done: +

+
    +
  • + 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. +
  • +
  • + Along with the above, it might be good to add some user control as to which + headers are included with the top-level header. +
  • +
  • + 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. +
  • +
  • + 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 BOOST_WORKAROUND + macro would benefit from a more readable syntax. As would the BOOST_TESTED_AT detail macro. +
  • +
  • + 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, languages, and libraries. +
  • +
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/libs/predef/doc/html/predef/reference.html b/libs/predef/doc/html/predef/reference.html new file mode 100644 index 0000000..b238c41 --- /dev/null +++ b/libs/predef/doc/html/predef/reference.html @@ -0,0 +1,875 @@ + + + +Reference + + + + + + + +
+
+
+PrevUpHome +
+
+ + +
+ +
+ + BOOST_ARCHITECTURE_ALPHA +
+

+ DEC Alpha architecture: + If available versions [4-6] are specifically detected. +

+
+ + BOOST_ARCHITECTURE_AMD64 +
+

+ American Micro Devices AMD + 64 architecture. +

+
+ + BOOST_ARCHITECTURE_ARM +
+

+ ARM architecture. +

+
+ + BOOST_ARCHITECTURE_CONVEX +
+

+ Convex Computer + architecture. +

+
+ + BOOST_ARCHITECTURE_IA64 +
+

+ Intel IA-64 architecture. +

+
+ + BOOST_ARCHITECTURE_M68K +
+

+ Motorola 68k architecture. +

+
+ + BOOST_ARCHITECTURE_MIPS +
+

+ MIPS + architecture. +

+
+ + BOOST_ARCHITECTURE_PARISK +
+

+ HP/PA RISC + architecture. +

+
+ + BOOST_ARCHITECTURE_PPC +
+

+ PowerPC architecture. +

+
+ + BOOST_ARCHITECTURE_PYRAMID +
+

+ Pyramid 9810 architecture. +

+
+ + BOOST_ARCHITECTURE_RS6000 +
+

+ RS/6000 architecture. +

+
+ + BOOST_ARCHITECTURE_SPARC +
+

+ SPARC architecture. +

+
+ + BOOST_ARCHITECTURE_SH +
+

+ SuperH architecture: + If available versions [1-5] are specifically detected. +

+
+ + BOOST_ARCHITECTURE_SYS370 +
+

+ System/370 architecture. +

+
+ + BOOST_ARCHITECTURE_SYS390 +
+

+ System/390 architecture. +

+
+ + BOOST_ARCHITECTURE_X86 +
+

+ Intel x86 architecture: + If available versions [3-6] are specifically detected. +

+
+ + BOOST_ARCHITECTURE_Z +
+

+ z/Architecture + architecture. +

+
+
+ +
+ + BOOST_CXX_BORLAND +
+

+ Borland compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_COMO +
+

+ Comeau compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_DEC +
+

+ Compaq DEC compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_CYGWIN +
+

+ Cygwin compiler. +

+
+ + BOOST_CXX_DIAB +
+

+ Diab compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_DMC +
+

+ Digital Mars compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_SYSC +
+

+ Dignus SysC compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_EDG +
+

+ EDG compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_PATH +
+

+ Ekopath compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_GNUC +
+

+ Gnu C/C++ compiler. + Version number available as major, minor, and patch (if available). +

+
+ + BOOST_CXX_GCCXML +
+

+ GCC XML compiler. +

+
+ + BOOST_CXX_GHS +
+

+ Green Hills compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_HPACC +
+

+ HP ACC compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_IAR +
+

+ IAR compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_IBM +
+

+ Iternational Business Mchines + compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_INTEL +
+

+ Intel compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_KCC +
+

+ Kai compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_LLVM +
+

+ LLVM compiler. +

+
+ + BOOST_CXX_HIGHC +
+

+ Metaware HighC compiler. +

+
+ + BOOST_CXX_MWERKS +
+

+ Metrowerks compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_MRI +
+

+ Microtec compiler. +

+
+ + BOOST_CXX_MINGW +
+

+ MinGW compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_MPW +
+

+ MPW compiler. Version + number available as major, and minor. +

+
+ + BOOST_CXX_PALM +
+

+ Palm compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_PGI +
+

+ PGI compiler. +

+
+ + BOOST_CXX_SGI +
+

+ SGI Mips-pro compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_SUNPRO +
+

+ Sun Pro compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_TENDRA +
+

+ Tendra compiler. +

+
+ + BOOST_CXX_MSVC +
+

+ Microsoft Visual C/C++ + compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_WATCOM +
+

+ Watcom compiler. Version + number available as major, and minor. +

+
+
+ +
+ + BOOST_LANGUAGE_OBJC +
+

+ Objective-C + language. +

+
+ + BOOST_LANGUAGE_STDC +
+

+ Standard + C language. If available, the year of the standard is detected as + 0.0.YYYY. +

+
+ + BOOST_LANGUAGE_STDCPP +
+

+ 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 1. 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 +

+
+
+
+ + BOOST_LANGUAGE_STDCPPCLI +
+

+ Standard C++/CLI + language. If available, the year of the standard is detected as 0.0.YYYY. +

+
+ + BOOST_LANGUAGE_STDECPP +
+

+ Standard Embedded + C++ language. +

+
+
+ +
+ + BOOST_LIBC_GNU +
+

+ GNU glibc Standard + C library. Version number available as major, and minor. +

+
+ + BOOST_LIBC_UC +
+

+ uClibc Standard + C library. Version number available as major, minor, and patch. +

+
+ + BOOST_LIBC_VMS +
+

+ VMS libc Standard C library. Version number available as major, minor, and + patch. +

+
+ + BOOST_LIBC_ZOS +
+

+ z/OS libc Standard C library. Version number available as major, minor, and + patch. +

+
+ + BOOST_LIBSTD_CXX +
+

+ libc++ C++ Standard Library. + If available version number as major, minor, and patch. +

+
+ + BOOST_LIBSTD_DINKUMWARE +
+

+ Dinkumware Standard + C++ Library. If available version number as major, minor, and patch. +

+
+ + BOOST_LIBSTD_COMO +
+

+ Comeau Computing + Standard C++ Library. Version number available as major. +

+
+ + BOOST_LIBSTD_MSIPL +
+

+ Modena Software Lib++ Standard C++ + Library. +

+
+ + BOOST_LIBSTD_MSL +
+

+ Metrowerks Standard C++ Library. + Version number available as major, minor, and patch. +

+
+ + BOOST_LIBSTD_RW +
+

+ Roguewave Standard C++ + library. If available version number as major, minor, and patch. +

+
+ + BOOST_LIBSTD_SGI +
+

+ SGI Standard C++ library. + If available version number as major, minor, and patch. +

+
+ + BOOST_LIBSTD_GNU +
+

+ GNU libstdc++ Standard + C++ library. Version number available as year (from 1970), month, and day. +

+
+ + BOOST_LIBSTD_STLPORT +
+

+ STLport Standard C++ + library. Version number available as major, minor, and patch. +

+
+ + BOOST_LIBSTD_IBM +
+

+ IBM VACPP Standard C++ + library. +

+
+
+ +
+ + BOOST_OS_ +
+

+ AIX operating system. + Version number available as major, minor, and patch. +

+
+ + BOOST_OS_AMIGAOS +
+

+ AmigaOS operating system. +

+
+ + BOOST_OS_BEOS +
+

+ Be operating system. +

+
+ + BOOST_OS_BSD +
+

+ 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: +

+
+
+ + + + + +
[Note]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. +

+
+
+ +
+ + BOOST_VERSION_NUMBER +
+

+

+
BOOST_VERSION_NUMBER(major,minor,patch)
+
+

+

+

+ Defines standard version numbers, with these properties: +

+
    +
  • + 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. +
  • +
  • + 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 expressions + for comparison to other similarly defined values. +
  • +
  • + The implementation enforces the individual ranges for the major, minor, + and patch numbers. And values over the ranges are truncated (modulo). +
  • +
+
+ + BOOST_PREDEF_MAKE_F.. + macros +
+

+ 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 "F" + indicates a hexadecimal digit, "_" + separates the major/minor/patch parts of the version number, and "0" indicates an ignored hexadecimal digit. + Macros are: +

+

+ BOOST_PREDER_MAKE_F_F_F(V) +

+

+ BOOST_PREDEF_MAKE_FF_F_F(V) +

+

+ BOOST_PREDEF_MAKE_F_F_FF(V) +

+

+ BOOST_PREDEF_MAKE_FF_FF(V) +

+

+ BOOST_PREDEF_MAKE_F_FF_FFFF(V) +

+

+ BOOST_PREDEF_MAKE_FF_FF_F(V) +

+

+ BOOST_PREDEF_MAKE_F_FF_FF_000(V) +

+
+ + BOOST_PREDEF_MAKE_N.. + macros +
+

+ 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 "N" + indicates a decimal digit, "_" + separates the major/minor/patch parts of the version number, and "0" indicates an ignored decimal digit. + Macros are: +

+

+ BOOST_PREDEF_MAKE_N_N_N(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN_NN(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN(V) +

+

+ BOOST_PREDEF_MAKE_N_N_NN(V) +

+

+ BOOST_PREDEF_MAKE_N_NN_NN(V) +

+

+ BOOST_PREDEF_MAKE_N_N_N_000(V) +

+

+ BOOST_PREDEF_MAKE_N_NN_000(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V) +

+

+ BOOST_PREDEF_MAKE_NN_00(V) +

+

+ BOOST_PREDEF_MAKE_YYYY_MM_DD(V) +

+
+
+ + + +
+
+
+PrevUpHome +
+ + diff --git a/libs/predef/doc/html/predef/using_the_predefs.html b/libs/predef/doc/html/predef/using_the_predefs.html new file mode 100644 index 0000000..8318d70 --- /dev/null +++ b/libs/predef/doc/html/predef/using_the_predefs.html @@ -0,0 +1,218 @@ + + + +Using the predefs + + + + + + + + +
+
+
+PrevUpHomeNext +
+
+ +

+ To use the automatically defined predefs one needs to only include the single + top-level header: +

+

+

+
#include <boost/predef.h>
+
+

+

+

+ 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 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. +
  • +
+
+ + + + + +
[Note]Note

+ 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. +

+

+ 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>
+
+int main()
+{
+  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;
+}
+
+

+

+

+ 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;
+}
+
+

+

+

+ + 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: +

+
    +
  1. + Major version number, as a constant value expression in the range [0,99]. +
  2. +
  3. + Minor version number, as a constant value expression in the range [0,99]. +
  4. +
  5. + Patch-level version number, as a constant value expression in the range + [0,99999]. +
  6. +
+

+ 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)
+
+

+

+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/libs/predef/doc/html/reference.css b/libs/predef/doc/html/reference.css new file mode 100644 index 0000000..6826962 --- /dev/null +++ b/libs/predef/doc/html/reference.css @@ -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 +} \ No newline at end of file diff --git a/libs/predef/doc/predef.qbk b/libs/predef/doc/predef.qbk index 99f6964..7ad3a34 100644 --- a/libs/predef/doc/predef.qbk +++ b/libs/predef/doc/predef.qbk @@ -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 #include - #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 + #include + + 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 + #include + + #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 #include +`` + +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_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 +`` + +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] diff --git a/libs/predef/test/build.jam b/libs/predef/test/build.jam index 2d8276a..6dcbd1d 100644 --- a/libs/predef/test/build.jam +++ b/libs/predef/test/build.jam @@ -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 : : : always_show_run_output ] + [ run info_as_c.c : : : always_show_run_output ] + [ run info_as_objcpp.mm : : : always_show_run_output ] + [ run info_as_objc.m : : : always_show_run_output ] + [ run version.cpp ] + [ run make.cpp ] + ;