## 第4章 設計方針

Boostライブラリ要件/ガイドライン
  HamigakiライブラリはBoostの一部ではないが、基本的にBoostライブラリ要件/ガイドラインに従っている。ただし、ドキュメントにはUTF-8エンコーディングの日本語を用いている。
スレッド安全性
  Hamigakiライブラリは、特に記述のない限り、スレッドセーフである。ここで言う「スレッドセーフ」とは、SGI STLの「Thread-safety for SGI STL」のことである。すなわち、あるオブジェクトに対し、あらゆるタイミングで、
  - 単一スレッドからの書き込み (非constメソッドの呼び出し)
  - 複数スレッドからの読み出し (constメソッドの呼び出し)
  のうち高々一方の操作しか行われないことをライブラリユーザーが保証する限り、マルチスレッド環境でも正しく動作する。
例外安全性
  Hamigakiライブラリは、Bjarne Stroustrup著『The C++ Programming Language, Special Edition』の付録E「Standard-Library Exception Safety」で語られる例外安全の「基本的な保証(Basic guarantee)」を常に満たすよう設計されている。
再利用性
  Hamigakiライブラリは、再利用性を高めるため、可能な限り原始的な機能を提供する。基本的にはそのような原始的なコンポーネントを組み合わせて利用することを想定しているが、大部分の要求を満たす簡易インタフェースを提供することで、段階的な学習が出来るように配慮されている。