>Thanks for the quick response and thanks for making this handy
library.
>
>I turned off message queueing (typedef int no_message_queue) and I'm
down to 20 bytes, much better, though still
>with some unaccounted bytes. I'm looking for a better way.
>
>I don't use any attributes, except for event attributes, or
submachines. I also don't care about event/state history.
Event attributes have no memory cost on your state
machine. History costs the same as the id (an int per region).
>This means the only state-related info is the state ID. What about just
reading and storing the state ID, and using the stored ID
>to restore the state next time I need to process an event? I know how
to get state ID (current_state()), but how do I set state from ID?
You cannot set the state, MSM handles the lifecycle
of its states.
>
>Josh
MSM just stores the id of the current state(s) in
order to call on_entry/on_exit or for bookkeeping. MSM does not recreate the
active states after each transition but insteads keeps them alive for
performance reasons. This also allows you to store data in states (you need this
quite often).
I don't know how many bytes still are needed for
your text archive, you should ask this to Robert Ramey.
Christophe