繼升壓說明書(http://www.boost.org/doc/libs/1_56_0/libs/locale/doc/html/using_localization_backends.html),當前使用哪個Boost UTF後端?
我可以使用設置UTF後端:
boost::locale::localization_backend_manager my = boost::locale::localization_backend_manager::global();
my.select("std");
有沒有什麼辦法,現在檢查,確實是STD後端是否使用?
我只似乎能夠得到所有可用的後端,而不是當前激活
boost::locale::localization_backend_manager lbm = boost::locale::localization_backend_manager::global();
auto s = lbm.get_all_backends();
for_each(s.begin(), s.end(), [](string& x){ cout << x << endl; });
我能看到的最多的是管理器上的'get()',可以讓你獲取當前後端。然而,後端接口並沒有提供任何識別它們的方法,並且所有的實現都隱藏在庫的已編譯部分中,所以甚至不能嘗試進行強制類型轉換。 –
我認爲你不能,至少要使用靜態'global()'助手。如果您手動將後端添加到列表中,您可能可以比較返回的auto_ptrs的基礎指針。但是由於'select()'方法可能僅適用於類別_的一個子集(允許組合不同的後端)_,我不知道該信息是多麼有用。 – sebkraemer