00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00020 #ifndef _ARAGELI_skeleton_hpp_
00021 #define _ARAGELI_skeleton_hpp_
00022
00023 #include "config.hpp"
00024 #include "motzkin_burger.hpp"
00025
00026
00027 namespace Arageli
00028 {
00029
00030
00031 namespace ctrl
00032 {
00033
00034 struct skeleton_idler
00035 {
00036 class abort : public ctrl::abort {};
00037
00038 skeleton_motzkin_burger_idler motzkin_burger_ctrl () const
00039 { return skeleton_motzkin_burger_idler(); }
00040 };
00041
00042 }
00043
00044
00046
00048 template
00049 <
00050 typename A, typename F,
00051 typename Q, typename E,
00052 typename Ctrler
00053 >
00054 inline void skeleton
00055 (
00056 A& a, F& f, Q& q, E& e,
00057 const Ctrler& ctrler
00058 )
00059 { skeleton_motzkin_burger(a, f, q, e, ctrler.motzkin_burger_ctrl()); }
00060
00061
00063
00064 template <typename A, typename F, typename Q, typename E>
00065 inline void skeleton (A& a, F& f, Q& q, E& e)
00066 { return skeleton (a, f, q, e, ctrl::skeleton_idler()); }
00067
00068
00069 }
00070
00071
00072
00073
00074
00075
00076
00077
00078 #endif