C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others.
Find a file
2012-02-28 18:54:39 +09:00
sprout 3.14... -> math::pi<T>() 2012-02-28 18:54:39 +09:00
testspr sprout::detail::distance のADL追加 2012-02-25 11:51:23 +09:00
LICENSE_1_0.txt README 追加 2011-09-01 03:35:15 +00:00
README README 更新 2012-02-26 11:07:31 +09:00
sprout_user_config.hpp SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION をデフォルトで有効に変更 2012-02-08 23:39:36 +09:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Sprout C++ Library

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

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



*インストール (Install)

<sprout/*> にライブラリのディレクトリにパスを通す。
このライブラリはヘッダオンリーで使える。
 (Trough the path to the directory of the library to <sprout/*>.
  This library can be used in the header only.)



*主なコンテンツ (Main contents)

constexpr コンテナ (Containers)
    sprout/array.hpp
    sprout/string.hpp

constexpr タプル (Tuples)
    sprout/tuple.hpp

constexpr バリアント (Variants)
    sprout/variant.hpp

constexpr アルゴリズム (Algorithms)
    sprout/algorithm.hpp
    sprout/numeric.hpp

constexpr 範囲アルゴリズム (Range algorithms)
    sprout/range/algorithm.hpp
    sprout/range/numeric.hpp

constexpr コンテナ操作 (Container operations)
    sprout/operation.hpp

constexpr 乱数 (Random numbers)
    sprout/random.hpp
    sprout/random/unique_seed.hpp

constexpr ハッシュ関数 (Hash functions)
    sprout/functional/hash.hpp
    sprout/checksum/sha1.hpp

constexpr UUID (UUID)
    sprout/uuid.hpp

型リスト (Type lists)
    sprout/type.hpp

コンテナアダプタ (Container adopters)
    sprout/sub_array.hpp
    sprout/pit.hpp

コンテナ特性 (Container traits)
    sprout/fixed_container.hpp

constexpr 構文解析 (Parsing)
    sprout/weed.hpp

constexpr レイトレーシング (Ray tracing)
    sprout/darkroom.hpp



*コンフィグ用ユーザマクロ (User macros for configuration)

#define SPROUT_CONFIG_DISABLE_CONSTEXPR
このマクロが定義されているとき、関数は constexpr 指定されない。
コンパイラが constexpr に対応していない場合。
 (When this macro is defined, the functions are not specified constexpr.
  If the compiler does not support constexpr.)

#define SPROUT_CONFIG_DISABLE_NOEXCEPT
このマクロが定義されているとき、関数は noexcept 修飾されない。
コンパイラが noexcept に対応していない場合。
 (When this macro is defined, the functions are not qualified noexcept.
  If the compiler does not support noexcept.)

#define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES
このマクロが定義されているとき、Template aliases によるエイリアスは定義されない。
コンパイラが Template aliases に対応していない場合。
 (When this macro is defined, the aliases are not defined by the Template aliases.
  If the compiler does not support Template aliases.)

#define SPROUT_CONFIG_USE_SSCRISK_CEL
このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。
 (When this macro is defined, you use the CEL - ConstExpr Library as an implementation detail.)
https://github.com/sscrisk/CEL---ConstExpr-Library

#define SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION
このマクロが定義されているとき、アルゴリズムへのコンテナの一時オブジェクト渡しをサポートしない。
 (When this macro is defined, does not support passing a temporary object of the container to the algorithm.)

#define SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION
このマクロは非推奨です。
 (This macro is deprecated.)

これらのマクロを定義するのは、このライブラリのどのヘッダをインクルードするよりも以前でなければならない。
 (To define these macros must be earlier than any of this library to include the header.)



*作者 (Author)

Bolero MURAKAMI
Blog: http://d.hatena.ne.jp/boleros/
Twitter: http://twitter.com/#!/bolero_MURAKAMI
Mail: contact-lib@boleros.x0.com



*著作権等 (Copyrights)

このライブラリは Boost Software License の元で公開されています。

Copyright (C) 2011-2012 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)