30 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2,
typename ArgsTmp>
31 static ReturnType run(
39 jdata1, jdata2, args);
46 template<
typename,
int>
class JointCollectionTpl,
48 static ReturnType run(
60 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
61 static ReturnType run(
72 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
73 static ReturnType run(
84 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2,
typename ArgsTmp>
85 static ReturnType run(
97 template<
typename,
int>
class JointCollectionTpl,
99 static ReturnType run(
108 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
109 static ReturnType run(
117 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
118 static ReturnType run(
127 template<
typename Jo
intModel1,
typename Jo
intModel2,
typename ArgType>
128 struct InternalVisitorModelAndData :
public boost::static_visitor<ReturnType>
130 typedef typename JointModel1::JointDataDerived JointData1;
131 typedef typename JointModel2::JointDataDerived JointData2;
133 InternalVisitorModelAndData(JointData1 & jdata1, JointData2 & jdata2, ArgType args)
140 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
141 ReturnType operator()(
162 template<
typename Jo
intModel1,
typename Jo
intModel2>
164 :
public boost::static_visitor<ReturnType>
166 typedef typename JointModel1::JointDataDerived JointData1;
167 typedef typename JointModel2::JointDataDerived JointData2;
169 InternalVisitorModelAndData(JointData1 & jdata1, JointData2 & jdata2)
175 template<
typename Jo
intModelDerived1,
typename Jo
intModelDerived2>
176 ReturnType operator()(
194 template<
typename ArgType,
typename Dummy =
void>
195 struct InternalVisitorModel :
public boost::static_visitor<ReturnType>
197 InternalVisitorModel(ArgType args)
202 template<
typename Jo
intModel1,
typename Jo
intModel2>
203 ReturnType operator()(
209 bf::append(boost::ref(
jmodel1.derived()), boost::ref(
jmodel2.derived()), args));
215 template<
typename Dummy>
216 struct InternalVisitorModel<NoArg,
Dummy> :
public boost::static_visitor<ReturnType>
218 InternalVisitorModel()
222 template<
typename Jo
intModel1,
typename Jo
intModel2>
223 ReturnType operator()(