[openrtm-users 02534] Re: bindParameter が bool型に対応していない?

Kei Okada k-okada @ jsk.t.u-tokyo.ac.jp
2012年 5月 21日 (月) 22:46:07 JST


岡田です

ありがとうございます。これはいいですね。
正式に取り込まれると嬉しいです。

これ以外にboolは"0","1"で指定すればいい、というアドバイスも別ルートで頂きました。

-----------
Kei Okada

On 2012/05/21, at 21:21, Masayuki Shimizu <masayuki.shimizu @ aist.go.jp> wrote:

> 岡田先生
> 
> 静岡大の清水です。
> 
> 私もこの問題に引っかかりました。
> 
> 解決策として、自分でコンフィグレーションの変換ルールを
> 作るという手法をとりました。
> 以下、ご参考になれば幸いです。
> 
> (1) 添付のような変換関数を自作する。
>  true/false 以外にも、on/off -> boolean 等も必要だったため
> 様々な独自ルールを追加してあります。
> 
> (2) bindParameterの第4引数で自作の変換関数を指定する。
> bindParameter("blnDebugFlag", m_DebugFlag, "on", stringToBool);
> 
> 以上です。
> 
> boolean値以外にも、16進数の値(e.g. 0xffff)からunsigned値への変換も
> デフォルトの変換関数で上手く行かなかったため、
> 自作変換関数で対応しています。
> 
> 清水
> --- On Mon, 2012/5/21, Kei Okada <k-okada @ jsk.t.u-tokyo.ac.jp> wrote:
> 
>> examples/ConfigSample/ConfigSample.cpp
>> をみても,
>>   bindParameter("int_param0", m_int_param0, "0");
>>   bindParameter("int_param1", m_int_param1, "1");
>>   bindParameter("double_param0", m_double_param0, "0.11");
>>   bindParameter("double_param1", m_double_param1, "9.9");
>>   bindParameter("str_param0", m_str_param0, "hoge");
>>   bindParameter("str_param1", m_str_param1, "dara");
>>   bindParameter("vector_param0", m_vector_param0, "0.0,1.0,2.0,3.0,4.0");
>> 
>> となっているので,もしかしたら仕様かもしれませんが,第2引数がbool型の時に
>> うまく動かない気がします.理由は
>> http://stackoverflow.com/questions/3880927/num-get-facet-and-stringstream-conversion-to-boolean-fails-with-initialised-bo
>> でしょうか?
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users @ openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
> <BoolConvert.h>
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users


More information about the openrtm-users mailing list