<para>Action methods return nothing and take the argument as const reference. Of
course nothing forbids you from using the same action for several
events:</para>
- <programlisting>template <class Event> void stop_playback(Eventconst&)</programlisting>
+ <programlisting>template <class Event> void stop_playback(Event const&)</programlisting>
<para>Guards have as only difference the return value, which is a
boolean:</para>
<programlisting>bool good_disk_format(cd_detected const& evt)</programlisting>
<programlisting>
struct transition_table : mpl::vector<
// Start Event Target Action Guard
-// +--------+---------+--------+---------------------------+------+
-a_row< Song1 , NextSong, Song2 , &Playing_::start_next_song >,
-a_row< Song2 , NextSong, Song1 , &Playing_::start_prev_song >,
-a_row< Song2 , NextSong, Song3 , &Playing_::start_next_song >,
-a_row< Song3 , NextSong, Song2 , &Playing_::start_prev_song >
-// +--------+---------+--------+---------------------------+------+
+// +--------+-------------+--------+---------------------------+------+
+a_row< Song1 , NextSong , Song2 , &Playing_::start_next_song >,
+a_row< Song2 , PreviousSong, Song1 , &Playing_::start_prev_song >,
+a_row< Song2 , NextSong , Song3 , &Playing_::start_next_song >,
+a_row< Song3 , PreviousSong, Song2 , &Playing_::start_prev_song >
+// +--------+-------------+--------+---------------------------+------+
> {};
</programlisting>
</para>
<chapter>
<title>Version history</title>
<sect1>
+ <title>From V2.28 to V2.29 (Boost 1.72)</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>Merged from develop new implementation of deferred events</para>
+ </listitem>
+ <listitem>
+ <para>Div. bugfixes</para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect1>
+ <sect1>
<title>From V2.27 to V2.28 (Boost 1.57)</title>
<para>
<itemizedlist>