C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others.
Find a file
bolero-MURAKAMI 10c46d9b85 adapt/sscrisk/cel/array.hpp 更新
random/binomial_distribution.hpp 追加
2011-10-12 00:38:14 +09:00
sprout adapt/sscrisk/cel/array.hpp 更新 2011-10-12 00:38:14 +09:00
LICENSE_1_0.txt README 追加 2011-09-01 03:35:15 +00:00
README README 更新 2011-10-08 15:26:46 +09:00
sprout_user_config.hpp README 更新 2011-10-08 15:26:46 +09:00

Sprout C++ Library

C++11 constexpr based Mutating-Algorithms and Container-Operations

このライブラリは、C++11 の constexpr に対応した、固定長コンテナに対する STL ライクな変更のアルゴリズムやコンテナ操作を提供する。



インストール

<sprout/*> を参照できるようライブラリのディレクトリにパスを通す。
このライブラリはヘッダオンリーで使える。



コンフィグ用ユーザマクロ

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