rock_ridge_reader

Rock Ridge用の「ディレクトリのトラバースと親パスの管理」を実装して、とりあえずrock_ridge_file_sourceの実装を置き換えてみました。
rock_ridge_reader.hpp
rock_ridge_file_source_impl.hpp


rock_ridge_file_source_implはボリューム記述子を選択した後の処理をrock_ridge_readerに任せています。
ここをISO 9660/Joliet用の実装に置き換えることで複数フォーマットに対応できます。
ISO 9660とJolietを共通化したときは奇妙な抽象化になっていましたが、今回は個々のクラスが単機能になるように設計していったので綺麗にまとまりそうです。