| |
Boostウェブサイトは多くの人に検証された、移植性のある フリーの C++ ソースライブラリを提供している。
強調すべきは、このライブラリが C++ 標準ライブラリと相性良く動くことである。
このライブラリの目的は,幅広く使えること,そして多様なプログラマによって常に利用されることである.
さらに"既存の慣習"を確立し,参考となるような実装を提供することで,
Boostライブラリが最終的な標準に適したものになることを目指している.
10のBoostライブラリは将来のC++標準の一部になるためのステップとして,
C++標準化委員会の次の
技術報告に含まれている.
BoostはC++標準化委員会のライブラリワーキンググループのメンバーによって始められたが,
今では多くのC++コミュニティから多くのプログラマが参加している.
もしあなたがBoostに参加することに興味を持っているなら,
開発者メーリングリストに参加してほしい.
高い技術水準の議論が行われ,メーリングリストの参加者によって提案されたライブラリの公式レビューが行われている.
利用者メーリングリストや,
多くのプロジェクト毎のメーリングリストもある.
Boost開発者メーリングリストと利用者メーリングリストは
ニュースグループとしても参加できる.
Search Boost
January 26, 2004 - Version 1.31.0
New License
これまで多くのBoostライブラリが個々のライセンスを使っていたが,
統一されたBoostソフトウェアライセンスに徐々に変更されるだろう.
新しいライセンスは開発者と利用者の両者に対して,より良い法的保護を提供する.
Boostライブラリのユーザーの法的見直しが急がれる.
ライセンスの立案に尽力したのは以下の人々である.
The legal team was led by
Diane Cabell, Director, Clinical Programs,
Berkman Center for Internet & Society, Harvard Law School.
Devin Smith, attorney, Nixon
Peabody LLP, wrote the Boost License. Eva Chan, Harvard Law School,
contributed analysis of issues and drafts of various legal documents.
リリースノート:
全てのライブラリはBoostライセンス要求に従っているが,
多くのBoostライブラリはまだ古いライセンスを使っている.
このリリースの後,新しい統一ライセンスの利用に向けた努力が始められるだろう.
ビルドとインストール
-
新しいGetting Startedの手続きにより,
ダウンロードとインストールは容易になった.
これはRene Rivera他の尽力による.
-
ライブラリが要求する分割コンパイルのサポートが改善された.
これはJohn Maddock他の尽力による.
新しいライブラリ
-
enable_if: 関数テンプレートオーバロードの選択的インクルード.
Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine.
これはSFINAE(substitution-failure-is-not-an-error:置換失敗はエラーではない)原理を利用した新しい重要な技術である.
-
Variant Library: 安全で汎用的な,スタックベースのUnionコンテナ.
Eric Friedman and Itay Maman.
Updated Libraries
-
Compose: このライブラリは非推奨となった.
将来のリリースでは削除されるだろう.代わりに,
Bind 又は Lambda が利用できる.
-
Date Time Library: 多くのバグフィックス,新たな機能,
ドキュメントの改善.詳細は Date Time
Change History.
-
Filesystem Library: ディレクトリ名とファイル名の移植性の検証が改善されるなど,
多くの機能が追加された.
-
Iterator Library:
メジャーバージョンアップが行われた.C++ライブラリTRで提案されたインタフェースとの整合性がとられた.
改善された
iterator_adaptorデザインや多くの新しい部品など.
David Abrahams, Jeremy Siek, and
Thomas Witt.
-
MultiArray:
multi_arrayクラステンプレートはデフォルトコンストラクトと同様に,
要素を保持したままで大きさを変更できるようになった.
(詳細は リファレンスマニュアル
).
- Python Library:
- Python 2.3とLinux上のIntel C++のサポート
- Container Indexing
Suite の追加.
- コンストラクタの追加,関数オブジェクトのラップ
- 静的データメンバのラップ
std::wstring の変換
- keyword argumentsの改善
- エラーメッセージの改善.GCCでのネームデマングリングを含む.
- ビルドの単純化.
- ...などなど...
-
Random Number Library:
C++ TR proposalとの整合性のためにインタフェースが変更された.
Jens Maurer.
-
Regex:
アルゴリズムが全く新しくなり,以前より速度が遥かに改善された.
さらに一連の
新しい機能と改善点がある.
-
Boost.Spirit 1.8.0:
- 複数文法開始ルール(Multiple grammar start rules)
- 複数スキャナルール(Multiple Scanner rules (no more scanner business woes))
- より動的なパーザ(More dynamic parsers)
- 定義済みアクタ(Predefined actors)
- 多くのバグフィックスとQOI(Numerous bug fixes and QOI stuff)
- ...などなど...
Spirit v1.8.0では不合格のコンパイラのサポートはされていない.
もしそのようなコンパイラを使っているなら,Spirit v1.6.xを使っていただきたい.
詳細はSpirit's Site.
- Test Library:
-
テストケースに基づく自由な関数テンプレート
-
実行モニタでの例外翻訳のカスタマイズをサポート.register_exception_translatorが単体テストフレームワークのために加えられた.
-
自動登録機能での複数モジュールの単体テストのサポートを追加.
-
浮動小数点の比較アルゴリズムが作り直された(後方互換ではない!!!).
-
ブール値の結果とエラーメッセージを返すプレディケーターのカスタマイズをサポート
-
ドキュメント構造が作り直され,更新された.
変更点の完全なリストは Test Library
リリースノート
その他
August 19, 2003 - Version 1.30.2 (bugfix release)
-
Boost Consulting is now hosting
Boost CVS mirrors - see our download page.
-
Backported changes to the config system,
to better handle new compiler releases.
-
Bugs in regression reporting in subproject tests were fixed.
-
Tests are now run in the context of the user's PATH environment settings
-
msvc-stlport and
intel-win32-stlport
toolsets now build static libraries with multithreading enabled, to be
compatible with the STLPort builds.
-
intel-win32 toolset now
handles
wchar_t
correctly when intel is installed over msvc6.
-
Backported fixes from the main trunk which prevent errors building the
Boost.Test
library in its default configuration.
-
Backported portability improvements for
checked_delete.
-
Locale support for metrowerks (requiring a statically-linked runtime) is more
uniformly handled.
-
Backported conversion/lexical_cast's
wchar_t
fixes from the main trunk.
-
intel-linux-tools: added
rt to FINDLIBS in order to make the clock_gettime()
function available (backport of a patch in CVS HEAD).
-
regression/compiler_status.cpp:
backported fixes in error log links generation.
August 12, 2003 - ALERT
Significant problems were found in the 1.30.1 release, so it has been withdrawn
from the website. These problems mostly take the form of missing files due to
an error by the release manager in using CVS to tag the release. We expect to
release Version 1.30.2 in a few days. Stay tuned.
Until then, you may want to get the RC_1_30_0 branch (which, with
only very slight modification, will become version 1.30.2) from our
CVS repository or the CVS mirror
at Boost Consulting
.
August 4, 2003 - Version 1.30.1 (bugfix release)
Fixes were made to the following libraries:
-
The Boost.Lambda
library is now usable with gcc-2.95.2
-
Boost.Spirit:
-
Fixed. Using MSVC++6 (SP5), calling the assign action with a string value on
parsers using the file_iterator will not work.
-
Fixed: using assign semantic action in a grammar with a multi_pass iterator
adaptor applied to an std::istream_iterator resulted in a failure to compile
under msvc 7.0.
-
Fixed: There is a bug in the
range_run<CharT>::set (range<CharT>
const& r)
function in "boost/spirit/utility/impl/chset/range_run.ipp".
-
Fixed: handling of trailing whitespace bug (ast_parse/pt_parse related)
-
Fixed: comment_p and end of data bug
-
Fixed: Most trailing space bug
-
Fixed:
chset<>::operator~(range<>) bug, operator&(chset<>,
range<>) bug, operator&(range<>, chset<>)
bug
-
Fixed:
impl::detach_clear
bug
-
Fixed: mismatch closure return type bug
-
Fixed:
access_node_d[] and access_match_d[]
iterator bugs
-
Fixed a bug regarding threadsafety of Phoenix/Spirit closures.
-
The Boost Template Metaprogramming Library (MPL)'s
typeof implementation is now compatible with Metrowerks CodeWarrior Pro8.
-
Boost.Function: workaround for the
new Borland patch (version 0x564) and MSVC++ .NET 2003.
-
Boost.Config,
Boost.Format, and Boost.Regex have
been adjusted to avoid warnings with GCC-3.3, and Boost.Format also now works
with string types other than
std::string.
-
Smart Pointers
-
checked_delete
now works on more platforms
-
Compatibility with the SunPro compiler
-
Added missing
#includes.
-
Boost.Python
-
warning suppression for finicky compilers
-
fixed a crashing bug in the
raw_function
facility when no keyword arguments were passed.
-
Improved conversion of NULL
shared_ptrs to Python.
March 19, 2003 - Version 1.30.0
-
Filesystem Library
added - Portable paths, iteration over directories, and other useful filesystem
operations, from Beman Dawes.
-
Optional Library
added - A discriminated-union wrapper for optional values, from Fernando
Cacciola.
-
Interval Library
added - Extends the usual arithmetic functions to mathematical intervals, from
Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion.
-
MPL
added - Template metaprogramming framework of compile-time algorithms,
sequences and metafunction classes, from Aleksey Gurtovoy.
-
Spirit Library
added - An LL (unlimited lookahead) parser framework that represents parsers
directly as EBNF grammars in inlined C++ source code, complete with semantic
actions, ASTs and much more, from Joel de Guzman and team.
-
Smart Pointers Library - cast functions
are now spelled static_pointer_cast
/ dynamic_pointer_cast
; enable_shared_from_this
added; shared_ptr::shared_ptr(), shared_ptr::reset(), weak_ptr::weak_ptr(),
weak_ptr::reset() no longer throw;
get_deleter added; weak_ptr::get() removed; make_shared is now spelled
weak_ptr::lock() ; intrusive_ptr
documentation added; some experimental undocumented shared_ptr features
have been removed; a page describing
some smart pointer programming techniques
has been added.
-
boost/assert.hpp,
boost/current_function.hpp, boost/throw_exception.hpp,
boost/checked_delete.hpp
have been documented.
-
Date-Time Library - several fixes
and small additions including an interface change to partial_date. See
Date-Time Change History
for more details.
-
Function Library
- added support for assignment to zero (to clear) and comparison against zero
(to check if empty).
-
Operators Library
- now takes advantage of named return value optimization (NRVO) when available,
from Daniel Frey.
-
Regression Tests - Much expanded,
plus a very nice summary
page
from Rene Rivera.
-
Test Library - introduced following new
facilities:
-
Automatic registration of unit tests
-
XML log format
-
XML report format
-
BOOST_CHECK_NO_THROW test tool
-
BOOST_BITWISE_CHECK test tool
For complete list of changes see Test Library
release notes
-
Many fixes and enhancements to other libraries.
October 10, 2002 - Version 1.29.0
-
Date-Time Library
added - Dates, times, leap seconds, infinity, and more, from Jeff Garland.
-
Dynamic Bitset added - A
runtime sized version of the std::bitset
class from Jeremy Siek and Chuck Allison.
-
Format Library
added - Type-safe 'printf-like' format operations, from Samuel Krempp.
-
Function Library: Major syntactic
changes have been made. Some old syntax and little-used features have been
deprecated (and will be removed shortly), and the syntax for the
boost::function
class template has been greatly improved on conforming compilers. Please see
the compatibility note
for more information.
-
Multi-array Library
added - Multidimensional containers and adaptors for arrays of contiguous data,
from Ron Garcia.
-
Preprocessor Library: Major
upgrade, from Paul Mensonides.
-
Python Library
- Version 2 is released, from Dave Abrahams and others. This is a major rewrite
which works on many more compilers and platforms, with a completely new
interface and lots of new features. Boost.Python v2 requires Python 2.2 or
later.
-
Signals Library
added - Managed signals & slots callback implementation, from Doug Gregor.
-
Test Library: Major new version,
including full unit test capabilities, from Gennadiy Rozental.
-
uBLAS Library added - Basic
linear algebra for dense, packed and sparse matrices, from Joerg Walter and
Mathias Koch.
|