[過去ログ] Boostを語れゴラァ part4 (1001レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
852(3): デフォルトの名無しさん [sage] 2007/10/06(土) 23:58:02 AAS
namespace po = boost::program_options ;
po::options_description desc("options") ;
desc.add_options()
("hage", po::wvalue< std::wstring >()->default_value("Bjarne Stroustrup") , "hage")
;
このコードをコンパイルしようとすると、std::wstringからstd::stringへ、lexical_castしようとしてエラーになるのですが、
あきらめるしかないのでしょうか?
855: デフォルトの名無しさん [sage] 2007/10/07(日) 00:26:09 AAS
>>852
> Throughout this document "Unicode support" is a synonym for "char to wchar_t conversion" support
856: 852 [sage] 2007/10/07(日) 00:52:03 AAS
今日3時に書いた自分のブログの愚痴が、もうgoogleに拾われて、しかも上位に来るとか、何のギャグですか。
861: 852 [sage] 2007/10/07(日) 04:10:44 AAS
自分で書き換えてやろうかとおもったら、
なんか意外とあっさりできてしまった。
boost/program_options/value_semantic.hppに
#include <boost/program_options/detail/convert.hpp>
を付け加えて、
typed_valueのプライマリテンプレートの下に、次のメンバ特殊化を付け加えればいい。
template<>
typed_value<std::wstring, wchar_t> *
typed_value<std::wstring, wchar_t>::default_value(std::wstring const & v)
{
m_default_value = boost::any(v);
m_default_value_as_text = boost::to_utf8(v);
return this;
}
メンバ特殊化って便利だね。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s