mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2024-11-12 21:09:01 +00:00
107 lines
2.9 KiB
Text
107 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
|
|
|
|
constexpr レイトレーシング
|
|
sprout/darkroom.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)
|