>>581
typeinfo構造体を丸ごとmapのkeyに持って来るようなものでしょうか?
それともhash関数に内部名を通すのかしら。 Loki や Boost について知識が
乏しいので改めて調べてみようと思います。>>569 は設計からして救いようが
ありませんが、Loki は色々使いようがありそうですので、有り難く引き出しに
しまっておくことにします。貴重な情報を有り難うございました。

>>582
例外処理、というとC++では try/catch ブロックのことでしょうが、
if 文でのエラー処理と (機能面で) 決定的に違うのは、try で関数を
呼び出して、関数内で throw した例外が関数を「抜けた後」で catch
ブロックに届くという点だと理解しています。それこそ、何重にも渡って
深く関数を呼び出しても例外が届くのです。set_xxx 系関数は戻り値が
成功フラグだったりしますが、get_xxx 系関数はそういうわけに行かず、
重宝するのではないでしょうか。
ロベールのC++教室、第二部第46章あたりに説明されています。
ttp://www1.kcn.ne.jp/~robe/cpphtml/index.html
他に、if 形式と try/catch 形式とでエラーの意味的な分類をしている
ということをどこかで見た記憶がありますが、ちょっと思い出せません。