Difference between revisions of "Boost"

From RogueBasin
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 remediate various issues with C++ ====
==== 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.
[[Category:Library]]

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.