標準ライブラリ索引

Wave 標準ライブラリのトップレベルモジュール、インポートパス、API の調べ方、プラットフォーム境界を説明します。

Wave Foundation

トップレベルモジュール

Wave 標準ライブラリには、次のトップレベルモジュールがあります。

分野 モジュール 主な用途
文字列とデータ stringbytesbuffer 文字列操作、エンディアン/バイト補助、可変長バッファ
数学 math 整数および数学演算の補助
メモリと C 境界 memlibc 手動メモリと C ランタイムのバインディング
ファイルと入出力 iofs ファイルディスクリプタ、ファイル、ディレクトリ
ネットワーク net アドレス、ソケット、ポーリング、TCP、UDP
環境、パス、時刻 envpathtime 環境変数、パス、時刻操作
システムとプロセス sysprocess OS 境界、プロセスの作成と待機

インポートの粒度

通常はトップレベルモジュール名だけでなく、必要な API を定義している具体的な .wave ソース単位をインポートします。

import("std::string::len")::{len, is_empty};
import("std::fs::file")::{fs_open_read, fs_close};
import("std::mem::alloc")::{mem_alloc, mem_free};

選択的インポートでは、指定した公開宣言を名前空間の接頭辞なしで使用できます。通常の import("std::string::len"); では、代わりに std::string::len 名前空間を通してアクセスします。

API の調べ方

標準ライブラリは Wave ソースとして配布されます。次のコマンドで場所を確認できます。

wavec print std-path

モジュールの .wave ファイルを開き、公開シグネチャ、戻り値の契約、下位モジュールのインポートを確認してください。

プラットフォーム境界

syslibcfsnetprocess などのモジュールにある API は、負のエラー値を含むプラットフォーム形式の失敗結果をそのまま返すことがあります。成功を前提にせず、各関数の戻り値契約を確認して処理してください。

標準ライブラリのモジュールとコンパイラの言語・ABI 契約を一致させるため、コンパイラとともにインストールされた標準ライブラリを使用します。