maker_next_state.hpp

Go to the documentation of this file.
00001 
00027 #ifndef MSMAZES_CORE_FSM_INPUT_MAKER_NEXT_STATE_HPP
00028 #define MSMAZES_CORE_FSM_INPUT_MAKER_NEXT_STATE_HPP
00029 
00030 #include <boost/mpl/bool.hpp>  // boost::mpl::true_ and boost::mpl::false_
00031 
00032 namespace msmazes {
00033 
00035 
00055 struct FSMNextStateInputMaker
00056 {
00061     typedef boost::mpl::false_
00062             RequiresSingleLayer;
00063 
00068     typedef boost::mpl::false_
00069             RequiresLastVisitedMap;
00070 
00078     template <
00079         typename Pattern
00080     >
00081     inline static typename Pattern::CellIndex
00082         getInputCount(
00083             const Pattern& pattern
00084         )
00085     {
00086         return pattern.getCellCount();
00087     }
00088 
00097     template <
00098         typename Pattern
00099     >
00100     inline static typename Pattern::CellIndex
00101         getInput(
00102             const Pattern& pattern
00103           , const typename Pattern::CellIndex previous_cell_i
00104           , const typename Pattern::CellIndex current_cell_i
00105           , const typename Pattern::CellIndex next_cell_i
00106         )
00107     {
00108         return next_cell_i;
00109     }
00110 };
00111 }  // namespace msmazes
00112 
00113 #endif  /* MSMAZES_CORE_FSM_INPUT_MAKER_NEXT_STATE_HPP */

Multi-State Mazes in C++ is hosted by SourceForge.net. Use the Table of Contents for navigation.