1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2024-11-12 21:09:01 +00:00
Sprout/README
2012-02-08 23:39:36 +09:00

114 lines
3.2 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
constexpr レイトレーシング
sprout/darkroom.hpp
*コンフィグ用ユーザマクロ
#define SPROUT_CONFIG_DISABLE_CONSTEXPR
このマクロが定義されているとき、関数は constexpr として宣言されない。
コンパイラが constexpr に対応していない場合。
#define SPROUT_CONFIG_DISABLE_NOEXCEPT
このマクロが定義されているとき、関数は noexcept 修飾されない。
コンパイラが noexcept に対応していない場合。
#define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
このマクロが定義されているとき、Template Aliases によるエイリアスは定義されない。
コンパイラが Template Aliases に対応していない場合。
#define SPROUT_CONFIG_USE_SSCRISK_CEL
このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。
https://github.com/sscrisk/CEL---ConstExpr-Library
#define SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
このマクロが定義されているとき、アルゴリズムへのコンテナの一時オブジェクトを渡しをサポートしない。
なおその場合、Sprout のコンテナのイテレータはポインタになる。
#define SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
このマクロは非推奨です。
これらのマクロをユーザ定義する場合、このライブラリのどのヘッダがインクルードされるよりも先に定義されなければならない。
*作者
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)