Subject: Re: [boost] [msm]how to distinguish region ids?
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2011-06-22 13:37:05
>> The region ids are numbered in the order of the initial_state typedef:
>> typedef boost::mpl::vector<Start1,Start2> initial_state;
>> Start1 will be the initial state of the first region (id 0), Start2 the
>> initial state of the second region (id 1).
> Thanks, I understand.
> I believe if I pass the out of range value then compile error should
> And I tested.
> 0 and 1 are OK. (expected)
> -1 is NG. (expected)
> But 2 is OK. (unexpected)
> 3 or more is NG. (expected)
> I'm not expert of msm's implementation.
> I suspect that
> StateType::wrapped_entry>::region_index <= nr_regions::value);
> should be
> StateType::wrapped_entry>::region_index < nr_regions::value);
Clearly you're right and it's a beginner's mistake. Thanks, I'll fix this
>> Alternatively, you can omit the id and let MSM build a graph using
>> and find this out for you (which will work if your pseudo entry is
>> connected to the initial state). Please note however that there is a
>> compile-time cost for this.
>Great!! This is the function that I really want to.
You're probably one of the first to use this new feature so your experience
with it will be very useful.
Please let me know how it went.
> P.S.We met BoosoCon2010, how are you?
I remember. We spoke at the end of the talk, right? I'm doing great, thanks
I remember you required some feature but I forgot what it was. Was it this
automatic region id calculation of pseudo entry state?