====== uninitialize ======
void uninitialize();
[[initialize]]で生成したXtal環境のうち、Currentに設定されているものを破棄します。
オブジェクトを保持している[[SmartPtr]]が残っている場合には関数内でassertされますので、オブジェクトの寿命を狭めるか、**xtal::null**を代入してください。
===== Example =====
==== C++ ====
#include
#include
#include
#include
#ifdef WIN32
#include
#include
#else // WIN32
#include
#include
#endif // WIN32
int main(){
xtal::CStdioStdStreamLib std_stream_lib;
#ifdef WIN32
xtal::WinThreadLib thread_lib;
xtal::WinFilesystemLib filesystem_lib;
#else // WIN32
xtal::PThreadLib thread_lib;
xtal::PosixFilesystemLib filesystem_lib;
#endif // WIN32
xtal::UTF8ChCodeLib ch_code_lib;
xtal::Setting setting;
setting.std_stream_lib = &std_stream_lib;
setting.thread_lib = &thread_lib;
setting.filesystem_lib = &filesystem_lib;
setting.ch_code_lib = &ch_code_lib;
xtal::initialize(setting);
// Xtalのオブジェクトへのアクセスが可能な状態になる
xtal::stdout_stream()->println("Hello xtal");
xtal::StringPtr str("sample text");
// uninitialize前にString("sample text")をGC回収可能な状態にする
str = xtal::null;
xtal::uninitialize();
return 0;
}
==== Output ====
Hello xtal