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

Masayuki Shimizu masayuki.shimizu @ aist.go.jp
2012年 5月 21日 (月) 21:21:46 JST


岡田先生

静岡大の清水です。

私もこの問題に引っかかりました。

解決策として、自分でコンフィグレーションの変換ルールを
作るという手法をとりました。
以下、ご参考になれば幸いです。

(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
>
-------------- next part --------------
$BJ8;z%3!<%I;XDj$NL5$$E:IUJ8=q$rJ]4I$7$^$7$?(B...
$BL>A0(B: BoolConvert.h
URL:  <http://www.openrtm.org/pipermail/openrtm-users/attachments/20120521/3148c99f/attachment-0001.h>


More information about the openrtm-users mailing list