How to use Sprout C++ Library

*主なコンテンツ (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/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 を使用する。
ConstExpr
(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.)