Manual of LIBTHEMIS
LIBTHEMIS
以下の各機能を持つクラス、函數その他の集合。
- 例外クラス
- 整數型定義
- イベントドリブン機構の基底クラス一式
- インスタンスの管理・被管理用の基底クラス一式
- 文字列變換函數
他の自作ライブラリやソフトウェアで使ひ廻すやうなものの集合である。そのため、纏まりが惡いと言はれれば、否めない。
屬するクラス・函數などは、特記しない限り、namespace themisの下で定義される。
例外クラス
themis/except.hで定義される。
クラス一覽
- EmptyException : public std::exception
- Exception : public EmptyException
函數一覽
- std::ostream& operator<<(std::ostream&, const Exception&);
class EmptyException
空の例外クラス。std::exceptionをpublic繼承する。
メソッド一覽
- EmptyException() throw()
- コンストラクタ。内容は空。
- virtual ~EmpryException() throw()
- デストラクタ。内容は空。
- virtual const char* what() const throw()
- 例外の種類を示す文字列を返す。
- 文字列 "themis::EmptyException" へのポインタを返す。
- EmptyExceptionを繼承する例外クラスでは、このメソッドをオーバーライドすることを期待してゐる。
class Exception
例外クラス。EmptyExceptionをpublic繼承する。
例外の内容を表すメッセージ文字列を格納する。
メソッド一覽
- Exception() throw()
- デフォルトコンストラクタ。内容は空。
- Exception(const std::string& msg)
- コンストラクタ。メッセージを引數に取る。
- Exception(const std::string& classname, const std::string& funcname, const std::string& msg)
- コンストラクタ。クラス名、函數名(メソッド名)、メッセージを引數に取る。格納するメッセージ文字列は、3つの引數から定型でつくられる。
- virtual ~Exception() throw()
- デストラクタ。
- virtual const char* what() const throw()
- 例外の種類を示す文字列を返す。
- 文字列 "themis::Exception" へのポインタを返す。
- 繼承する例外クラスでは、このメソッドをオーバーライドすることを期待してゐる。
std::ostream& operator<<(std::ostream&, const Exception&);
Exceptionの格納するメッセージ文字列を、出力ストリームに出力する。
整數型定義
themis/inttype.hで定義される。
整數型の別名を定義する。各bit數とも、上が符號有り、下が符號無し。
- 8bit整數
- int8, SByte
- uint8, Byte, UByte
- 16bit整數
- int16, SWord
- uint16, Word, UWord
- 32bit整數
- int32, SDword
- uint32, Dword, UDword
- 64bit整數
- longlong, int64, SQuad
- ulonglong, uint64, Quad, UQuad
イベントドリブン機構の基底クラス一式
themis/listen.hで定義される。
Observerパターンを實裝してゐる。
今まで實用例なし。
クラス一覽
- template<class E_> class Listener : boost::noncopyable
- template<class E_> class Talker : boost::noncopyable
template<class E_> class Listener
イベントE_を受理するリスナー。ObserverパターンにおけるObserberに該當する。複數のTalker<E_>に登録されることが可能。
抽象基底クラスであり、當クラスをインスタンス化することは出來ない。
boost::noncopyableをprivate繼承する。
メソッド一覽
- Listener()
- コンストラクタ。内容は空。
- virtual ~Listener()
- デストラクタ。自動的に、登録されてゐるTalker<E_>から、自己を削除する。
- virtual void update(const E_&)
- イベントE_を受理して處理を行ふ。
- 純粹假想函數であり、實裝はサブクラスに委ねられる。
- Talker<E_>から呼び出される。
template<class E_> class Talker
イベントE_の發生を、Listener<E_>に通知するクラス。
通知對象のListener<E_>へのポインタを内部に保持する。
boost::noncopyableをprivate繼承する。
メソッド一覽
- Talker()
- コンストラクタ。内容は空。
- virtual ~Talker()
- デストラクタ。
- void add(Listener<E_>*)
- リスナーを登録する。
- void remove(Listener<E_>*)
- リスナーを削除する。
- void changed(const E_&)
- イベントE_の發生を、リスナーに通知する。
インスタンスの管理・被管理用の基底クラス一式
themis/manage.hで定義される。
實用例なし。有效性も、今見ると微妙。なので、取り敢へず放置。
文字列變換函數
themis/strconv.hで宣言される。
函數一覽
- std::string toLower(const std::string&);
- 渡した文字列中の大文字を小文字に變換した文字列を返す。
- std::wstring toLower(const std::wstring&);
- 渡した文字列中の大文字を小文字に變換した文字列を返す。