modify README.md

This commit is contained in:
bolero-MURAKAMI 2012-11-26 11:39:09 +09:00
parent 3b658ea53e
commit 5b21d5c2ea
2 changed files with 152 additions and 147 deletions

210
README
View file

@ -1,171 +1,173 @@
Sprout C++ Library # Sprout C++ Library
C++11 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, and others. *C++11 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others.*
このライブラリは、C++11 の constexpr に対応したコンテナ、アルゴリズム、乱数、構文解析、レイトレーシング、シンセサイザー、その他の機能を提供する。
このライブラリは、C++11 の constexpr に対応したコンテナ、アルゴリズム、乱数、構文解析、レイトレーシング、その他の機能を提供する。
* ドキュメント (Document) ## ドキュメント *(Document)*
Sprout C++ Library Wiki: http://www.boleros.x0.com/doc/sproutwiki/ Sprout C++ Library Wiki: http://www.boleros.x0.com/doc/sproutwiki/
* インストール (Install) ## インストール *(Install)*
ディレクトリ /path/to/sprout にパスを通す。 ディレクトリ `/path/to/sprout` にパスを通す。
このライブラリはヘッダオンリーで使える。 このライブラリはヘッダオンリーで使える。
(Through the path to the directory. /path/to/sprout *(Through the path to the directory. `/path/to/sprout`*
This library can be used in the header only.) *This library can be used in the header only.)*
* コンテンツ (contents) ## コンテンツ *(Contents)*
- コンテナとデータ構造 (Containers and Data structures) ### コンテナとデータ構造 *(Containers and Data structures)*
-- sprout/array.hpp - std::array 互換の固定長コンテナ * `sprout/array.hpp` - std::array 互換の固定長コンテナ
-- sprout/string.hpp - 固定長バッファの文字列クラス * `sprout/string.hpp` - 固定長バッファの文字列クラス
-- sprout/tuple.hpp - std::tuple 互換のタプル * `sprout/tuple.hpp` - std::tuple 互換のタプル
-- sprout/optional.hpp - 無効値の表現 * `sprout/optional.hpp` - 無効値の表現
-- sprout/variant.hpp - バリアント * `sprout/variant.hpp` - バリアント
-- sprout/bitset.hpp - std::bitset 互換のビットセット * `sprout/bitset.hpp` - std::bitset 互換のビットセット
- アルゴリズム (Algorithms) ### アルゴリズム *(Algorithms)*
-- sprout/algorithm.hpp - STL 互換のアルゴリズム * `sprout/algorithm.hpp` - STL 互換のアルゴリズム
-- sprout/algorithm/string.hpp - 文字列用アルゴリズム * `sprout/algorithm/string.hpp` - 文字列用アルゴリズム
-- sprout/numeric.hpp - STL 互換の数値シーケンスアルゴリズム * `sprout/numeric.hpp` - STL 互換の数値シーケンスアルゴリズム
-- sprout/range/algorithm.hpp - Rangeベースのアルゴリズム * `sprout/range/algorithm.hpp` - Rangeベースのアルゴリズム
-- sprout/range/numeric.hpp - Rangeベースの数値シーケンスアルゴリズム * `sprout/range/numeric.hpp` - Rangeベースの数値シーケンスアルゴリズム
-- sprout/range/adaptor.hpp - Rangeアダプタ * `sprout/range/adaptor.hpp` - Rangeアダプタ
-- sprout/numeric/dft.hpp - 離散フーリエ変換 * `sprout/numeric/dft.hpp` - 離散フーリエ変換
-- sprout/range/numeric/dft.hpp - Rangeベースの離散フーリエ変換 * `sprout/range/numeric/dft.hpp` - Rangeベースの離散フーリエ変換
- コンテナサポート (Container supports) ### コンテナサポート *(Container supports)*
-- sprout/sub_array.hpp - コンテナから一部の範囲を切り出す部分コンテナ * `sprout/sub_array.hpp` - コンテナから一部の範囲を切り出す部分コンテナ
-- sprout/pit.hpp - 処理結果のコンテナを返す関数に与えるダミーコンテナ * `sprout/pit.hpp` - 処理結果のコンテナを返す関数に与えるダミーコンテナ
-- sprout/operation.hpp - コンテナを変更する操作 * `sprout/operation.hpp` - コンテナを変更する操作
-- sprout/container.hpp - コンテナ特性を定義するトレイトと関数 * `sprout/container.hpp` - コンテナ特性を定義するトレイトと関数
- 関数オブジェクト (Function Objects) ### 関数オブジェクト *(Function Objects)*
-- sprout/functional.hpp - STL 互換の関数オブジェクトとハッシュ関数 * `sprout/functional.hpp` - STL 互換の関数オブジェクトとハッシュ関数
- イテレータ (Iterators) ### イテレータ *(Iterators)*
-- sprout/iterator.hpp - STL 互換のイテレータと、いくつかの定義済みイテレータ * `sprout/iterator.hpp` - STL 互換のイテレータと、いくつかの定義済みイテレータ
- 数学 (Mathematics) ### 数学 *(Mathematics)*
-- sprout/math/functions.hpp - 数学関数 * `sprout/math/functions.hpp` - 数学関数
-- sprout/random.hpp - 乱数 * `sprout/random.hpp` - 乱数
-- sprout/complex.hpp - 複素数 * `sprout/complex.hpp` - 複素数
-- sprout/rational.hpp - 有理数 * `sprout/rational.hpp` - 有理数
- テンプレートメタプログラミング (Template Metaprogramming) ### テンプレートメタプログラミング *(Template Metaprogramming)*
-- sprout/index_tuple.hpp - IndexTuple イディオム * `sprout/index_tuple.hpp` - IndexTuple イディオム
-- sprout/type_traits.hpp - 型特性 * `sprout/type_traits.hpp` - 型特性
-- sprout/type.hpp - 型リスト * `sprout/type.hpp` - 型リスト
- プリプロセッサメタプログラミング (Preprocessor Metaprogramming) ### プリプロセッサメタプログラミング *(Preprocessor Metaprogramming)*
-- sprout/preprocessor.hpp - プリプロセッサメタプログラミングツール * `sprout/preprocessor.hpp` - プリプロセッサメタプログラミングツール
- ドメイン固有 (Domain specific) ### ドメイン固有 *(Domain specific)*
-- sprout/uuid.hpp - UUID * `sprout/uuid.hpp` - UUID
-- sprout/checksum.hpp - チェックサム (SHA-1, MD5, etc) * `sprout/checksum.hpp` - チェックサム (SHA-1, MD5, etc)
- 構文解析 (Parsing) ### 構文解析 *(Parsing)*
-- sprout/weed.hpp - Boost.Spirit.Qi ライクなコンパイル時パーサコンビネータ * `sprout/weed.hpp` - Boost.Spirit.Qi ライクなコンパイル時パーサコンビネータ
- レイトレーシング (Ray tracing) ### レイトレーシング *(Ray tracing)*
-- sprout/darkroom.hpp - コンパイル時レイトレーサ * `sprout/darkroom.hpp` - コンパイル時レイトレーサ
- その他 (Miscellaneous) ### シンセサイザー *(Synthesizer)*
-- sprout/utility.hpp - <utility> 互換の機能と、雑多なユーティリティ * `sprout/compost.hpp` - コンパイル時シンセサイザー
-- sprout/bit/operation.hpp - ビット操作
- C互換 (C-compatible) ### その他 *(Miscellaneous)*
-- sprout/cstdlib.hpp - <cstdlib> 互換の機能 * `sprout/utility.hpp` - 標準ヘッダ utility 互換の機能と、雑多なユーティリティ
-- sprout/cstring.hpp - <cstring> 互換の機能 * `sprout/bit/operation.hpp` - ビット操作
-- sprout/cwchar.hpp - <cwchar> 互換の機能
-- sprout/cctype.hpp - <cctype> 互換の機能 ### C互換 *(C-compatible)*
-- sprout/cinttypes.hpp - <cinttypes> 互換の機能 * `sprout/cstdlib.hpp` - 標準ヘッダ cstdlib 互換の機能
* `sprout/cstring.hpp` - 標準ヘッダ cstring 互換の機能
* `sprout/cwchar.hpp` - 標準ヘッダ cwchar 互換の機能
* `sprout/cctype.hpp` - 標準ヘッダ cctype 互換の機能
* `sprout/cinttypes.hpp` - 標準ヘッダ cinttypes 互換の機能
* ユーザコンフィグ (User configuration) ## ユーザコンフィグ *(User configuration)*
これらのマクロを定義するのは、このライブラリのどのヘッダをインクルードするよりも以前でなければならない。 これらのマクロを定義するのは、このライブラリのどのヘッダをインクルードするよりも以前でなければならない。
(To define these macros must be earlier than any of this library to include the header.) *(To define these macros must be earlier than any of this library to include the header.)*
** 言語機能のワークアラウンド (Workaround for incomplete language features) ### 言語機能のワークアラウンド *(Workaround for incomplete language features)*
-- constexpr * constexpr
#define SPROUT_CONFIG_DISABLE_CONSTEXPR `#define SPROUT_CONFIG_DISABLE_CONSTEXPR`
このマクロが定義されているとき、関数は constexpr 指定されない。 このマクロが定義されているとき、関数は constexpr 指定されない。
コンパイラが constexpr に対応していない場合、これを定義すべき。 コンパイラが constexpr に対応していない場合、これを定義すべき。
通常、これはコンパイラに応じて自動的に定義される。 通常、これはコンパイラに応じて自動的に定義される。
(When this macro is defined, the functions are not specified constexpr. *(When this macro is defined, the functions are not specified constexpr.*
If the compiler does not support constexpr, should define it. *If the compiler does not support constexpr, should define it.*
Usually, it defined automatically depending to the compiler.) *Usually, it defined automatically depending to the compiler.)*
-- noexcept * noexcept
#define SPROUT_CONFIG_DISABLE_NOEXCEPT `#define SPROUT_CONFIG_DISABLE_NOEXCEPT`
このマクロが定義されているとき、関数は noexcept 修飾されない。 このマクロが定義されているとき、関数は noexcept 修飾されない。
コンパイラが noexcept に対応していない場合、これを定義すべき。 コンパイラが noexcept に対応していない場合、これを定義すべき。
通常、これはコンパイラに応じて自動的に定義される。 通常、これはコンパイラに応じて自動的に定義される。
(When this macro is defined, the functions are not qualified noexcept. *(When this macro is defined, the functions are not qualified noexcept.*
If the compiler does not support noexcept, should define it. *If the compiler does not support noexcept, should define it.*
Usually, it defined automatically depending to the compiler.) *Usually, it defined automatically depending to the compiler.)*
-- Template aliases * Template aliases
#define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES `#define SPROUT_CONFIG_DISABLE_TEMPLATE_ALIASES`
このマクロが定義されているとき、Template aliases によるエイリアスは定義されない。 このマクロが定義されているとき、Template aliases によるエイリアスは定義されない。
コンパイラが Template aliases に対応していない場合、これを定義すべき。 コンパイラが Template aliases に対応していない場合、これを定義すべき。
通常、これはコンパイラに応じて自動的に定義される。 通常、これはコンパイラに応じて自動的に定義される。
(When this macro is defined, the aliases are not defined by the Template aliases. *(When this macro is defined, the aliases are not defined by the Template aliases.*
If the compiler does not support Template aliases, should define it. *If the compiler does not support Template aliases, should define it.*
Usually, it defined automatically depending to the compiler.) *Usually, it defined automatically depending to the compiler.)*
-- Delegating constructors * Delegating constructors
#define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS `#define SPROUT_CONFIG_DISABLE_DELEGATING_CONSTRUCTORS`
このマクロが定義されているとき、Delegating constructors による実装は行われない。 このマクロが定義されているとき、Delegating constructors による実装は行われない。
コンパイラが Delegating constructors に対応していない場合、これを定義すべき。 コンパイラが Delegating constructors に対応していない場合、これを定義すべき。
通常、これはコンパイラに応じて自動的に定義される。 通常、これはコンパイラに応じて自動的に定義される。
(When this macro is defined, the implementation is not done by Delegating constructors. *(When this macro is defined, the implementation is not done by Delegating constructors.*
If the compiler does not support Delegating constructors, should define it. *If the compiler does not support Delegating constructors, should define it.*
Usually, it defined automatically depending to the compiler.) *Usually, it defined automatically depending to the compiler.)*
-- 自動無効化の抑制 (Not automatically disable) * 自動無効化の抑制 *(Not automatically disable)*
#define SPROUT_CONFIG_DISABLE_AUTO_CONFIG `#define SPROUT_CONFIG_DISABLE_AUTO_CONFIG`
このマクロが定義されているとき、自動的な言語機能の無効化は行われない。 このマクロが定義されているとき、自動的な言語機能の無効化は行われない。
(When this macro is defined, not automatically disable language features.) *(When this macro is defined, not automatically disable language features.)*
** 実装の切り替え (Switching implementation) ### 実装の切り替え *(Switching implementation)*
-- CEL - ConstExpr Library * CEL - ConstExpr Library
#define SPROUT_CONFIG_USE_SSCRISK_CEL `#define SPROUT_CONFIG_USE_SSCRISK_CEL`
このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。 このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。
(When this macro is defined, you use the CEL - ConstExpr Library as an implementation detail.) *(When this macro is defined, you use the CEL - ConstExpr Library as an implementation detail.)*
https://github.com/sscrisk/CEL---ConstExpr-Library See: https://github.com/sscrisk/CEL---ConstExpr-Library
-- ビルトイン数学関数 (Built-in mathematical functions) * ビルトイン数学関数 *(Built-in mathematical functions)*
#define SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION `#define SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION`
このマクロが定義されているとき、数学関数の実装にビルトイン関数を使用しない。 このマクロが定義されているとき、数学関数の実装にビルトイン関数を使用しない。
(When this macro is defined, does not use the built-in function to the implementation of mathematical functions.) *(When this macro is defined, does not use the built-in function to the implementation of mathematical functions.)*
-- ビルトインビット処理 (Built-in bit operations) * ビルトインビット処理 *(Built-in bit operations)*
#define SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION `#define SPROUT_CONFIG_DISABLE_BUILTIN_BIT_OPERATION`
このマクロが定義されているとき、ビット処理の実装にビルトイン関数を使用しない。 このマクロが定義されているとき、ビット処理の実装にビルトイン関数を使用しない。
(When this macro is defined, does not use the built-in function to the implementation of bit operations.) *(When this macro is defined, does not use the built-in function to the implementation of bit operations.)*
-- 一時オブジェクト渡しのサポート (Support passing a temporary object) * 一時オブジェクト渡しのサポート *(Support passing a temporary object)*
#define SPROUT_CONFIG_DISABLE_SUPPORT_TEMPORARY_CONTAINER_ITERATION `#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.) *(When this macro is defined, does not support passing a temporary object of the container to the algorithm.)*
* 作者 (Author) ## 作者 *(Author)*
Bolero MURAKAMI Bolero MURAKAMI
@ -179,7 +181,7 @@ Mail: contact-lib@boleros.x0.com
* 著作権等 (Copyrights) ## 著作権等 *(Copyrights)*
このライブラリは Boost Software License の元で公開されています。 このライブラリは Boost Software License の元で公開されています。

View file

@ -1,7 +1,7 @@
# Sprout C++ Library # Sprout C++ Library
*C++11 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, and others.* *C++11 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others.*
このライブラリは、C++11 の constexpr に対応したコンテナ、アルゴリズム、乱数、構文解析、レイトレーシング、その他の機能を提供する。 このライブラリは、C++11 の constexpr に対応したコンテナ、アルゴリズム、乱数、構文解析、レイトレーシング、シンセサイザー、その他の機能を提供する。
@ -20,7 +20,7 @@ Sprout C++ Library Wiki: http://www.boleros.x0.com/doc/sproutwiki/
## コンテンツ *(contents)* ## コンテンツ *(Contents)*
### コンテナとデータ構造 *(Containers and Data structures)* ### コンテナとデータ構造 *(Containers and Data structures)*
* `sprout/array.hpp` - std::array 互換の固定長コンテナ * `sprout/array.hpp` - std::array 互換の固定長コンテナ
@ -76,16 +76,19 @@ Sprout C++ Library Wiki: http://www.boleros.x0.com/doc/sproutwiki/
### レイトレーシング *(Ray tracing)* ### レイトレーシング *(Ray tracing)*
* `sprout/darkroom.hpp` - コンパイル時レイトレーサ * `sprout/darkroom.hpp` - コンパイル時レイトレーサ
### シンセサイザー *(Synthesizer)*
* `sprout/compost.hpp` - コンパイル時シンセサイザー
### その他 *(Miscellaneous)* ### その他 *(Miscellaneous)*
* `sprout/utility.hpp` - &lt;utility&gt; 互換の機能と、雑多なユーティリティ * `sprout/utility.hpp` - 標準ヘッダ utility 互換の機能と、雑多なユーティリティ
* `sprout/bit/operation.hpp` - ビット操作 * `sprout/bit/operation.hpp` - ビット操作
### C互換 *(C-compatible)* ### C互換 *(C-compatible)*
* `sprout/cstdlib.hpp` - &lt;cstdlib&gt; 互換の機能 * `sprout/cstdlib.hpp` - 標準ヘッダ cstdlib 互換の機能
* `sprout/cstring.hpp` - &lt;cstring&gt; 互換の機能 * `sprout/cstring.hpp` - 標準ヘッダ cstring 互換の機能
* `sprout/cwchar.hpp` - &lt;cwchar&gt; 互換の機能 * `sprout/cwchar.hpp` - 標準ヘッダ cwchar 互換の機能
* `sprout/cctype.hpp` - &lt;cctype&gt; 互換の機能 * `sprout/cctype.hpp` - 標準ヘッダ cctype 互換の機能
* `sprout/cinttypes.hpp` - &lt;cinttypes&gt; 互換の機能 * `sprout/cinttypes.hpp` - 標準ヘッダ cinttypes 互換の機能
@ -145,7 +148,7 @@ Sprout C++ Library Wiki: http://www.boleros.x0.com/doc/sproutwiki/
`#define SPROUT_CONFIG_USE_SSCRISK_CEL` `#define SPROUT_CONFIG_USE_SSCRISK_CEL`
このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。 このマクロが定義されているとき、実装の詳細として CEL - ConstExpr Library を使用する。
*(When this macro is defined, you use the CEL - ConstExpr Library as an implementation detail.)* *(When this macro is defined, you use the CEL - ConstExpr Library as an implementation detail.)*
https://github.com/sscrisk/CEL---ConstExpr-Library See: https://github.com/sscrisk/CEL---ConstExpr-Library
* ビルトイン数学関数 *(Built-in mathematical functions)* * ビルトイン数学関数 *(Built-in mathematical functions)*
`#define SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION` `#define SPROUT_CONFIG_DISABLE_BUILTIN_CMATH_FUNCTION`