Difference between revisions of "Boost"
Jump to navigation
Jump to search
m (add category) |
|||
Line 1: | Line 1: | ||
{{library| name = Boost | |||
|developer = BOOST.ORG | |||
|released = | |||
|updated = May 3 2009 (1.39.0) | |||
|dependencies = | |||
|status = Stable | |||
|licensing = Boost License | |||
|language = [[Cpp|C++]] | |||
|platforms = [[Windows]], [[Linux]] | |||
|site = http://www.boost.org/ | |||
}} | |||
The Boost [[Cpp|C++]] libraries ( http://www.boost.org/ ) are licensed under the Boost License. | The Boost [[Cpp|C++]] libraries ( http://www.boost.org/ ) are licensed under the Boost License. | ||
To a non-lawyer, the Boost License is about as permissive as a revised BSD-style license but takes up far less text. It intentionally allows reusing the source code in closed-source and commercial projects. | To a non-lawyer, the Boost License is about as permissive as a revised BSD-style license but takes up far less text. It intentionally allows reusing the source code in closed-source and commercial projects. | ||
==== Boost Library features that are relatively easy to use, and | ==== Boost Library features that are relatively easy to use, and remedy various issues with C++ ==== | ||
* Static Assertions: allows converting compile-time invariant violations into compile errors. Usage is similar to <tt>assert</tt>. This is likely to be obsoleted by a revision of the C++ language. | * Static Assertions: allows converting compile-time invariant violations into compile errors. Usage is similar to <tt>assert</tt>. This is likely to be obsoleted by a revision of the C++ language. | ||
* Call Traits: automatic selection of reasonably efficient types for various intentions. E.g., <tt>boost::call_traits<>::param_type</tt> selects the most efficient type for the effect of passing by value. | * Call Traits: automatic selection of reasonably efficient types for various intentions. E.g., <tt>boost::call_traits<>::param_type</tt> selects the most efficient type for the effect of passing by value. | ||
Line 12: | Line 24: | ||
==== Boost Library features that apply to C ==== | ==== Boost Library features that apply to C ==== | ||
* Preprocessor : enables typical control structures (if-then-else, looping over the values of a list or sequence) for the [[C]] preprocessor. | * Preprocessor : enables typical control structures (if-then-else, looping over the values of a list or sequence) for the [[C]] preprocessor. | ||
Latest revision as of 09:04, 3 June 2009
Boost | |
---|---|
Library project | |
Developer | BOOST.ORG |
Released | |
Updated | May 3 2009 (1.39.0) |
Status | Stable |
Licensing | Boost License |
P. Language | C++ |
Platforms | Windows, Linux |
Dependencies | |
Official site of Boost |
The Boost C++ libraries ( http://www.boost.org/ ) are licensed under the Boost License.
To a non-lawyer, the Boost License is about as permissive as a revised BSD-style license but takes up far less text. It intentionally allows reusing the source code in closed-source and commercial projects.
Boost Library features that are relatively easy to use, and remedy various issues with C++
- Static Assertions: allows converting compile-time invariant violations into compile errors. Usage is similar to assert. This is likely to be obsoleted by a revision of the C++ language.
- Call Traits: automatic selection of reasonably efficient types for various intentions. E.g., boost::call_traits<>::param_type selects the most efficient type for the effect of passing by value.
- Enable/Disable If : allows conditional definition of templates. Most useful in conjunction with the STL numeric_traits template and Boost's Type Traits library, for imposing type constraints on template parameters (partially replicating C# type constraints on generic parameters)
Note that fully using the last two points require Substitution Failure Is Not An Error for templates, which does require a relatively up to date compiler.
Boost Library features that apply to C
- Preprocessor : enables typical control structures (if-then-else, looping over the values of a list or sequence) for the C preprocessor.