設定ファイルのセーブ
この関数は、内部で保持している名前のファイルに、 do_save 仮想関数で 定義された内容を出力します。
do_save に渡される出力ストリームは内部的なものであり、その操作によって 直接ファイルに書き込まれることはありません。(例外安全のため)
toppers::cfg_baseを再定義しています。
class_id.cpp の 85 行で定義されています。
参照先 _・toppers::cfg_base::do_depend()・toppers::kernel_id::do_save()・toppers::error()・toppers::cfg_base::file(). 00086 {
00087 std::ostringstream osstr;
00088 if ( do_save( osstr ) )
00089 {
00090 for ( std::vector<std::string>::const_iterator iter( classes_.begin() ), last( classes_.end() ); iter != last; ++iter )
00091 {
00092 using namespace boost::filesystem;
00093 ofstream ofstr( path( *iter, native )/path( file(), native ) );
00094 if ( ofstr.fail() )
00095 {
00096 error( _( "cannot create file `%1%\'" ) % *iter );
00097 }
00098 ofstr << osstr.str() << std::endl;
00099 ofstr.close();
00100 do_depend();
00101 }
00102 }
00103 }
関数の呼び出しグラフ:
|