英語版
このページの英語版を見る

Phobos Runtime Library

Phobosは、D言語コンパイラに付属する標準ランタイムライブラリである。

通常、std 名前空間はPhobos標準ライブラリのメインモジュールで使用される。etc 名前空間は外部C/C++ライブラリバインディングで使用される。core 名前空間は低レベルDランタイム関数で使用される。

以下の表は、特定の機能カテゴリーにどのPhobosモジュールを使用すべきかを示すクイックリファレンスガイドである。 一部のモジュールは複数のカテゴリーに表示される場合があることに注意していただきたい。 Phobosモジュールの中には非常に汎用的で、 さまざまな状況に適用できるものもあるためである。

モジュール 説明
アルゴリズムと範囲
std.algorithm
std.range
std.range.primitives
std.range.interfaces
文字列、配列、その他のシーケンシャルにアクセスされるデータなど、あらゆる型の範囲で動作する汎用アルゴリズム。 アルゴリズムには、検索、比較、反復、ソート、集合演算、および変更が含まれる。
配列操作
std.array
std.algorithm
組み込み配列で一般的に使用される便利な操作。 多くの一般的な配列操作は、任意の範囲で動作するより一般的なアルゴリズムのサブセットであることに 注意。そのため、それらは std.algorithm に記載されている。
コンテナ
std.container.array
std.container.binaryheap
std.container.dlist
std.container.rbtree
std.container.slist
概要については、std.container.*を参照のこと 。
データ形式
std.base64 エンコーディング/デコーディング Base64 形式。
std.csv カンマ区切り値およびそのバリエーションを、dchar の入力範囲から読み込む。
std.json JSON形式のデータの読み取り/書き込み。
std.zip ZIPアーカイブ形式のデータの読み書き。
std.zlib zlibライブラリを使用してデータの圧縮/解凍を行う。
データの整合性
std.checkedint 整数型をチェックした。
std.digest md5、sha1、crc32 などのダイジェストを計算する。
std.digest.crc 巡回冗長検査(32ビット)の実装。
std.digest.hmac 任意のデータのHMACダイジェストを計算する。
std.digest.md 任意のデータのMD5ハッシュを計算する。
std.digest.murmurhash 任意のデータの MurmurHash を計算する。
std.digest.ripemd 任意のデータのRIPEMD-160ハッシュを計算する。
std.digest.sha 任意のデータの SHA1 および SHA2 ハッシュを計算する。
日付と時刻
std.datetime 日付と時刻の表現に便利なアクセスを提供する。
core.time 低レベルの時間プリミティブを実装する。
例外処理
std.exception 例外に関連するルーチンを実装する。
core.exception コンパイラが必要とする組み込みの例外型と低レベルの 言語フックを定義する。
外部ライブラリとの結合
etc.c.curl libcurl Cライブラリへのインターフェイス。
etc.c.odbc.sql ODBC C言語ライブラリとのインターフェイス。
etc.c.odbc.sqlext
etc.c.odbc.sqltypes
etc.c.odbc.sqlucode
etc.c.sqlite3 SQLite C ライブラリとのインターフェイス。
etc.c.zlib zlib Cライブラリとのインターフェイス。
入出力およびファイルシステム
std.file ファイルとディレクトリを操作する。
std.path ファイルシステムパスを表す文字列を操作する。
std.stdio バッファ付き入出力を行う。
相互運用性
core.stdc.complex
core.stdc.ctype
core.stdc.errno
core.stdc.fenv
core.stdc.float_
core.stdc.inttypes
core.stdc.limits
core.stdc.locale
core.stdc.math
core.stdc.signal
core.stdc.stdarg
core.stdc.stddef
core.stdc.stdint
core.stdc.stdio
core.stdc.stdlib
core.stdc.string
core.stdc.tgmath
core.stdc.time
core.stdc.wchar_
core.stdc.wctype
標準Cヘッダー用のDバインディング。

これらはほとんどが文書化されていないが、 これらの宣言がバインディングを提供する関数の 文書は外部リソースで見つけることができる。
メモリ管理
core.memory 組み込みのガベージコレクタを制御する。
std.typecons スコープ付き変数および参照カウント型を構築する。
メタプログラミング
core.attribute コンパイラが認識する特別な属性の定義。
core.demangle Dシンボルの識別子をソースコードの表現に変換する。
std.demangle core.demangle のシンプルなラッパー。
std.meta テンプレート引数リスト(別名型リスト)を構築し、操作する。
std.traits コンパイル時に型とシンボルに関する情報を抽出する。
std.typecons 新しい便利な汎用型を構築する。
マルチタスク
std.concurrency スレッド用の低レベルメッセージングAPI。
std.parallelism SMP並列処理のための高レベルなプリミティブ。
std.process プロセスの開始と操作。
core.atomic ロックフリーの並列プログラミングの基本的なサポート
core.sync.barrier スレッドのグループの進行状況を同期する。
core.sync.condition 同期状態の確認。
core.sync.exception 同期例外のベースクラス。
core.sync.mutex 排他的アクセス用のミューテックス。
core.sync.rwmutex 共有読み取りアクセスと排他的な書き込みアクセス。
core.sync.semaphore 汎用同期セマフォ。
core.thread スレッドの作成と管理。
ネットワーク
std.socket ソケットの基本要素。
std.net.curl libcurl が提供するネットワーククライアント機能。
std.net.isemail RFC 5321、5322 およびその他の規格に従って電子メールアドレスを検証する。
std.uri Uniform Resource Identifiers (URI) のエンコードおよびデコード。
std.uuid 分散システムのリソースに対する一意の識別子 。
数値
std.bigint 任意精度の整数型。
std.complex 複素数型。
std.math 初等数学関数(累乗、平方根、三角関数)。
std.mathspecial 超越関数群。
std.numeric 浮動小数点数値関数。
std.random 疑似乱数発生器。
core.checkedint 範囲チェック付きの積分算術のプリミティブ。
core.math 組み込みの数学用intrinsics。
パラダイム
std.functional 他の関数を操作する関数。
std.algorithm シーケンス処理用の汎用アルゴリズム。
std.signals イベント駆動型プログラミングのためのシグナルとスロットのフレームワーク。
ランタイムユーティリティ
object 言語のコア定義。自動的にインポートされる。
std.getopt コマンドライン引数の解析。
std.compiler ホストコンパイラベンダーの文字列および言語バージョン。
std.system OSの種類やエンディアンなど、実行環境。
core.cpuid プログラムが実行されているCPUの機能。
core.memory 組み込みのガベージコレクタを制御する。
core.runtime Dランタイムの制御と設定。
文字列操作
std.string 文字列を処理するアルゴリズム。
std.array 組み込み配列の操作
std.algorithm シーケンス処理のための汎用アルゴリズム。
std.uni 基本的なUnicodeアルゴリズムとデータ構造。
std.utf UTF-8、UTF-16、UTF-32 文字列のエンコードおよびデコード。
std.format データを文字列にフォーマットする。
std.path ファイルシステムのパスを表す文字列の操作。
std.regex 正規表現。
std.ascii UnicodeのASCIIサブセットに特化したルーチン。
std.encoding さまざまなテキストエンコーディングの処理および変換。
std.windows.charset Windows固有の文字セットのサポート。
std.outbuffer ubyte 配列へのデータのシリアライズ。
型の操作
std.conv 型を別の型に変換する。
std.typecons スコープ付き変数、参照カウント型などの型コンストラクタ
std.bitmanip ビットレベルでの高度な操作、ビット配列、ビットフィールド。
std.variant あらゆる型の値を保持できる動的型付けの変数。
core.bitop 低レベルのビット操作。
std.sumtype 型安全な判別共用体。
ベクトルプログラミング
core.simd SIMD 組み込み関数
ログ記録
std.logger
std.logger.core
std.logger.filelogger
std.logger.multilogger
std.logger.nulllogger
ログ。