Sprout/README
bolero-MURAKAMI 526d9dab2c README 更新
2011-11-13 17:58:41 +09:00

104 lines
2.9 KiB
Text

Sprout C++ Library
C++11 constexpr based Mutating-Algorithms and Container-Operations
このライブラリは、C++11 の constexpr に対応した、固定長コンテナに対する STL ライクな変更のアルゴリズムやコンテナ操作を提供する。
*インストール
<sprout/*> を参照できるようライブラリのディレクトリにパスを通す。
このライブラリはヘッダオンリーで使える。
*主なコンテンツ
constexpr コンテナ
sprout/array.hpp
sprout/string.hpp
constexpr タプル
sprout/tuple.hpp
constexpr バリアント
sprout/variant.hpp
constexpr アルゴリズム
sprout/algorithm.hpp
sprout/numeric.hpp
constexpr 範囲アルゴリズム
sprout/range/algorithm.hpp
sprout/range/numeric.hpp
constexpr コンテナ操作
sprout/operation.hpp
constexpr 乱数
sprout/random.hpp
sprout/random/unique_seed.hpp
constexpr ハッシュ関数
sprout/functional/hash.hpp
sprout/checksum/sha1.hpp
constexpr UUID
sprout/uuid.hpp
型リスト
sprout/type.hpp
コンテナアダプタ
sprout/sub_array.hpp
sprout/pit.hpp
コンテナ特性
sprout/fixed_container.hpp
constexpr 構文解析
sprout/weed.hpp
*コンフィグ用ユーザマクロ
#define SPROUT_CONFIG_DISABLE_CONSTEXPR
このマクロが定義されているとき、関数は constexpr として宣言されない。
コンパイラが constexpr に対応していない場合。
#define SPROUT_CONFIG_DISABLE_NOEXCEPT
このマクロが定義されているとき、関数は noexcept 修飾されない。
コンパイラが noexcept に対応していない場合。
#define SPROUT_CONFIG_USE_SSCRISK_CEL
このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。
https://github.com/sscrisk/CEL---ConstExpr-Library
#define SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
このマクロが定義されているとき、GCC4.7 において、アルゴリズムにコンテナの一時オブジェクトを渡せない問題を回避する。
なおその場合、Sprout のコンテナのイテレータはポインタではなくなる。
これらのマクロをユーザ定義する場合、このライブラリのどのヘッダがインクルードされるよりも先に定義されなければならない。
*作者
Bolero MURAKAMI
Blog: http://d.hatena.ne.jp/boleros/
Twitter: http://twitter.com/#!/bolero_MURAKAMI
Mail: contact-lib@boleros.x0.com
*著作権等
このライブラリは Boost Software License の元で公開されています。
Copyright (C) 2011 Bolero MURAKAMI.
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)