C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others.
Find a file
bolero-MURAKAMI bbe932a452 README 更新
2012-02-22 22:39:22 +09:00
sprout sprout/complex.hpp 追加 2012-02-22 22:17:03 +09:00
testspr sprout/utility/pack.hpp 追加 2012-01-09 21:32:51 +09:00
LICENSE_1_0.txt README 追加 2011-09-01 03:35:15 +00:00
README README 更新 2012-02-22 22:39:22 +09:00
sprout_user_config.hpp SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION をデフォルトで有効に変更 2012-02-08 23:39:36 +09:00

Sprout C++ Library

C++11 constexpr based Container, Algorithms, Random, Parsing, Ray tracing, and others.

このライブラリは、C++11 の constexpr に対応したコンテナ、アルゴリズム、乱数、構文解析、レイトレーシング、その他の機能を提供する。



*インストール

<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)