5 #ifndef __pinocchio_multibody_visitior_fusion_hpp__ 6 #define __pinocchio_multibody_visitior_fusion_hpp__ 8 #define BOOST_FUSION_INVOKE_MAX_ARITY 10 10 #include "pinocchio/deprecated.hpp" 12 #include <boost/variant/static_visitor.hpp> 13 #include <boost/fusion/include/invoke.hpp> 14 #include <boost/fusion/container/generation/make_vector.hpp> 22 template<
typename T,
typename V>
23 typename result_of::push_front<V const, T>::type
24 append(T
const& t,V
const& v)
26 return push_front(v,t);
30 template<
typename T1,
typename T2,
typename V>
31 typename result_of::push_front<typename result_of::push_front<V const, T2>::type
const, T1>::type
32 append(T1
const& t1,T2
const& t2,V
const& v)
34 return push_front(push_front(v,t2),t1);
39 template<
typename T1,
typename T2,
typename V>
41 typename result_of::push_front<typename result_of::push_front<V const, T2>::type
const, T1>::type
42 append2(T1
const& t1,T2
const& t2,V
const& v)
44 return append2(t1,t2,v);
48 template<
typename T1,
typename T2,
typename T3,
typename V>
49 typename result_of::push_front<
50 typename result_of::push_front<
51 typename result_of::push_front<V const,T3>::type
const,T2>::type
const,T1>::type
52 append(T1
const& t1, T2
const& t2, T3
const& t3, V
const& v)
54 return push_front(push_front(push_front(v,t3),t2),t1);
58 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename V>
59 typename result_of::push_front<
60 typename result_of::push_front<
61 typename result_of::push_front<
62 typename result_of::push_front<V const,T4>::type
const,T3>::type
const,T2>::type
const,T1>::type
63 append(T1
const& t1, T2
const& t2, T3
const& t3, T4
const& t4, V
const& v)
65 return push_front(push_front(push_front(push_front(v,t4),t3),t2),t1);
69 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename V>
70 typename result_of::push_front<
71 typename result_of::push_front<
72 typename result_of::push_front<
73 typename result_of::push_front<
74 typename result_of::push_front<V const,T5>::type
const,T4>::type
const,T3>::type
const,T2>::type
const,T1>::type
75 append(T1
const& t1, T2
const& t2, T3
const& t3, T4
const& t4, T5
const& t5, V
const& v)
77 return push_front(push_front(push_front(push_front(push_front(v,t5),t4),t3),t2),t1);
83 #endif // ifndef __pinocchio_multibody_visitior_fusion_hpp__