class_wrapper.cpp
Go to the documentation of this file.
1 #include <gtwrap/matlab.h>
2 #include <map>
3 
4 #include <boost/archive/text_iarchive.hpp>
5 #include <boost/archive/text_oarchive.hpp>
6 #include <boost/serialization/export.hpp>
7 
8 #include <folder/path/to/Test.h>
9 
10 
11 typedef Fun<double> FunDouble;
12 typedef PrimitiveRef<double> PrimitiveRefDouble;
13 typedef MyVector<3> MyVector3;
14 typedef MyVector<12> MyVector12;
15 typedef MultipleTemplates<int, double> MultipleTemplatesIntDouble;
16 typedef MultipleTemplates<int, float> MultipleTemplatesIntFloat;
18 
19 
20 typedef std::set<boost::shared_ptr<FunRange>*> Collector_FunRange;
22 typedef std::set<boost::shared_ptr<FunDouble>*> Collector_FunDouble;
24 typedef std::set<boost::shared_ptr<Test>*> Collector_Test;
26 typedef std::set<boost::shared_ptr<PrimitiveRefDouble>*> Collector_PrimitiveRefDouble;
28 typedef std::set<boost::shared_ptr<MyVector3>*> Collector_MyVector3;
30 typedef std::set<boost::shared_ptr<MyVector12>*> Collector_MyVector12;
32 typedef std::set<boost::shared_ptr<MultipleTemplatesIntDouble>*> Collector_MultipleTemplatesIntDouble;
34 typedef std::set<boost::shared_ptr<MultipleTemplatesIntFloat>*> Collector_MultipleTemplatesIntFloat;
36 typedef std::set<boost::shared_ptr<MyFactorPosePoint2>*> Collector_MyFactorPosePoint2;
38 
40 {
41  mstream mout;
42  std::streambuf *outbuf = std::cout.rdbuf(&mout);
43 
44  bool anyDeleted = false;
45  { for(Collector_FunRange::iterator iter = collector_FunRange.begin();
46  iter != collector_FunRange.end(); ) {
47  delete *iter;
48  collector_FunRange.erase(iter++);
49  anyDeleted = true;
50  } }
51  { for(Collector_FunDouble::iterator iter = collector_FunDouble.begin();
52  iter != collector_FunDouble.end(); ) {
53  delete *iter;
54  collector_FunDouble.erase(iter++);
55  anyDeleted = true;
56  } }
57  { for(Collector_Test::iterator iter = collector_Test.begin();
58  iter != collector_Test.end(); ) {
59  delete *iter;
60  collector_Test.erase(iter++);
61  anyDeleted = true;
62  } }
63  { for(Collector_PrimitiveRefDouble::iterator iter = collector_PrimitiveRefDouble.begin();
65  delete *iter;
67  anyDeleted = true;
68  } }
69  { for(Collector_MyVector3::iterator iter = collector_MyVector3.begin();
70  iter != collector_MyVector3.end(); ) {
71  delete *iter;
72  collector_MyVector3.erase(iter++);
73  anyDeleted = true;
74  } }
75  { for(Collector_MyVector12::iterator iter = collector_MyVector12.begin();
76  iter != collector_MyVector12.end(); ) {
77  delete *iter;
78  collector_MyVector12.erase(iter++);
79  anyDeleted = true;
80  } }
81  { for(Collector_MultipleTemplatesIntDouble::iterator iter = collector_MultipleTemplatesIntDouble.begin();
83  delete *iter;
85  anyDeleted = true;
86  } }
87  { for(Collector_MultipleTemplatesIntFloat::iterator iter = collector_MultipleTemplatesIntFloat.begin();
89  delete *iter;
91  anyDeleted = true;
92  } }
93  { for(Collector_MyFactorPosePoint2::iterator iter = collector_MyFactorPosePoint2.begin();
95  delete *iter;
97  anyDeleted = true;
98  } }
99  if(anyDeleted)
100  cout <<
101  "WARNING: Wrap modules with variables in the workspace have been reloaded due to\n"
102  "calling destructors, call 'clear all' again if you plan to now recompile a wrap\n"
103  "module, so that your recompiled module is used instead of the old one." << endl;
104  std::cout.rdbuf(outbuf);
105 }
106 
108  const mxArray *alreadyCreated = mexGetVariablePtr("global", "gtsam_class_rttiRegistry_created");
109  if(!alreadyCreated) {
110  std::map<std::string, std::string> types;
111 
112  mxArray *registry = mexGetVariable("global", "gtsamwrap_rttiRegistry");
113  if(!registry)
114  registry = mxCreateStructMatrix(1, 1, 0, NULL);
115  typedef std::pair<std::string, std::string> StringPair;
116  for(const StringPair& rtti_matlab: types) {
117  int fieldId = mxAddField(registry, rtti_matlab.first.c_str());
118  if(fieldId < 0)
119  mexErrMsgTxt("gtsam wrap: Error indexing RTTI types, inheritance will not work correctly");
120  mxArray *matlabName = mxCreateString(rtti_matlab.second.c_str());
121  mxSetFieldByNumber(registry, 0, fieldId, matlabName);
122  }
123  if(mexPutVariable("global", "gtsamwrap_rttiRegistry", registry) != 0)
124  mexErrMsgTxt("gtsam wrap: Error indexing RTTI types, inheritance will not work correctly");
125  mxDestroyArray(registry);
126 
127  mxArray *newAlreadyCreated = mxCreateNumericMatrix(0, 0, mxINT8_CLASS, mxREAL);
128  if(mexPutVariable("global", "gtsam_geometry_rttiRegistry_created", newAlreadyCreated) != 0)
129  mexErrMsgTxt("gtsam wrap: Error indexing RTTI types, inheritance will not work correctly");
130  mxDestroyArray(newAlreadyCreated);
131  }
132 }
133 
134 void FunRange_collectorInsertAndMakeBase_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
135 {
136  mexAtExit(&_deleteAllObjects);
137  typedef boost::shared_ptr<FunRange> Shared;
138 
139  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
140  collector_FunRange.insert(self);
141 }
142 
143 void FunRange_constructor_1(int nargout, mxArray *out[], int nargin, const mxArray *in[])
144 {
145  mexAtExit(&_deleteAllObjects);
146  typedef boost::shared_ptr<FunRange> Shared;
147 
148  Shared *self = new Shared(new FunRange());
149  collector_FunRange.insert(self);
150  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
151  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
152 }
153 
154 void FunRange_deconstructor_2(int nargout, mxArray *out[], int nargin, const mxArray *in[])
155 {
156  typedef boost::shared_ptr<FunRange> Shared;
157  checkArguments("delete_FunRange",nargout,nargin,1);
158  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
159  Collector_FunRange::iterator item;
160  item = collector_FunRange.find(self);
161  if(item != collector_FunRange.end()) {
162  delete self;
163  collector_FunRange.erase(item);
164  }
165 }
166 
167 void FunRange_range_3(int nargout, mxArray *out[], int nargin, const mxArray *in[])
168 {
169  checkArguments("range",nargout,nargin-1,1);
170  auto obj = unwrap_shared_ptr<FunRange>(in[0], "ptr_FunRange");
171  double d = unwrap< double >(in[1]);
172  out[0] = wrap_shared_ptr(boost::make_shared<FunRange>(obj->range(d)),"FunRange", false);
173 }
174 
175 void FunRange_create_4(int nargout, mxArray *out[], int nargin, const mxArray *in[])
176 {
177  checkArguments("FunRange.create",nargout,nargin,0);
178  out[0] = wrap_shared_ptr(boost::make_shared<FunRange>(FunRange::create()),"FunRange", false);
179 }
180 
181 void FunDouble_collectorInsertAndMakeBase_5(int nargout, mxArray *out[], int nargin, const mxArray *in[])
182 {
183  mexAtExit(&_deleteAllObjects);
184  typedef boost::shared_ptr<Fun<double>> Shared;
185 
186  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
187  collector_FunDouble.insert(self);
188 }
189 
190 void FunDouble_deconstructor_6(int nargout, mxArray *out[], int nargin, const mxArray *in[])
191 {
192  typedef boost::shared_ptr<Fun<double>> Shared;
193  checkArguments("delete_FunDouble",nargout,nargin,1);
194  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
195  Collector_FunDouble::iterator item;
196  item = collector_FunDouble.find(self);
197  if(item != collector_FunDouble.end()) {
198  delete self;
199  collector_FunDouble.erase(item);
200  }
201 }
202 
203 void FunDouble_multiTemplatedMethod_7(int nargout, mxArray *out[], int nargin, const mxArray *in[])
204 {
205  checkArguments("multiTemplatedMethodStringSize_t",nargout,nargin-1,3);
206  auto obj = unwrap_shared_ptr<Fun<double>>(in[0], "ptr_FunDouble");
207  double d = unwrap< double >(in[1]);
208  string t = unwrap< string >(in[2]);
209  size_t u = unwrap< size_t >(in[3]);
210  out[0] = wrap_shared_ptr(boost::make_shared<Fun<double>>(obj->multiTemplatedMethod<string,size_t>(d,t,u)),"Fun<double>", false);
211 }
212 
213 void FunDouble_templatedMethod_8(int nargout, mxArray *out[], int nargin, const mxArray *in[])
214 {
215  checkArguments("templatedMethodString",nargout,nargin-1,2);
216  auto obj = unwrap_shared_ptr<Fun<double>>(in[0], "ptr_FunDouble");
217  double d = unwrap< double >(in[1]);
218  string t = unwrap< string >(in[2]);
219  out[0] = wrap_shared_ptr(boost::make_shared<Fun<double>>(obj->templatedMethod<string>(d,t)),"Fun<double>", false);
220 }
221 
222 void FunDouble_staticMethodWithThis_9(int nargout, mxArray *out[], int nargin, const mxArray *in[])
223 {
224  checkArguments("FunDouble.staticMethodWithThis",nargout,nargin,0);
225  out[0] = wrap_shared_ptr(boost::make_shared<Fun<double>>(Fun<double>::staticMethodWithThis()),"Fundouble", false);
226 }
227 
228 void Test_collectorInsertAndMakeBase_10(int nargout, mxArray *out[], int nargin, const mxArray *in[])
229 {
230  mexAtExit(&_deleteAllObjects);
231  typedef boost::shared_ptr<Test> Shared;
232 
233  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
234  collector_Test.insert(self);
235 }
236 
237 void Test_constructor_11(int nargout, mxArray *out[], int nargin, const mxArray *in[])
238 {
239  mexAtExit(&_deleteAllObjects);
240  typedef boost::shared_ptr<Test> Shared;
241 
242  Shared *self = new Shared(new Test());
243  collector_Test.insert(self);
244  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
245  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
246 }
247 
248 void Test_constructor_12(int nargout, mxArray *out[], int nargin, const mxArray *in[])
249 {
250  mexAtExit(&_deleteAllObjects);
251  typedef boost::shared_ptr<Test> Shared;
252 
253  double a = unwrap< double >(in[0]);
254  Matrix b = unwrap< Matrix >(in[1]);
255  Shared *self = new Shared(new Test(a,b));
256  collector_Test.insert(self);
257  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
258  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
259 }
260 
261 void Test_deconstructor_13(int nargout, mxArray *out[], int nargin, const mxArray *in[])
262 {
263  typedef boost::shared_ptr<Test> Shared;
264  checkArguments("delete_Test",nargout,nargin,1);
265  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
266  Collector_Test::iterator item;
267  item = collector_Test.find(self);
268  if(item != collector_Test.end()) {
269  delete self;
270  collector_Test.erase(item);
271  }
272 }
273 
274 void Test_arg_EigenConstRef_14(int nargout, mxArray *out[], int nargin, const mxArray *in[])
275 {
276  checkArguments("arg_EigenConstRef",nargout,nargin-1,1);
277  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
278  Matrix value = unwrap< Matrix >(in[1]);
279  obj->arg_EigenConstRef(value);
280 }
281 
282 void Test_create_MixedPtrs_15(int nargout, mxArray *out[], int nargin, const mxArray *in[])
283 {
284  checkArguments("create_MixedPtrs",nargout,nargin-1,0);
285  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
286  auto pairResult = obj->create_MixedPtrs();
287  out[0] = wrap_shared_ptr(boost::make_shared<Test>(pairResult.first),"Test", false);
288  out[1] = wrap_shared_ptr(pairResult.second,"Test", false);
289 }
290 
291 void Test_create_ptrs_16(int nargout, mxArray *out[], int nargin, const mxArray *in[])
292 {
293  checkArguments("create_ptrs",nargout,nargin-1,0);
294  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
295  auto pairResult = obj->create_ptrs();
296  out[0] = wrap_shared_ptr(pairResult.first,"Test", false);
297  out[1] = wrap_shared_ptr(pairResult.second,"Test", false);
298 }
299 
300 void Test_get_container_17(int nargout, mxArray *out[], int nargin, const mxArray *in[])
301 {
302  checkArguments("get_container",nargout,nargin-1,0);
303  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
304  out[0] = wrap_shared_ptr(boost::make_shared<std::vector<testing::Test>>(obj->get_container()),"std.vectorTest", false);
305 }
306 
307 void Test_print_18(int nargout, mxArray *out[], int nargin, const mxArray *in[])
308 {
309  checkArguments("print",nargout,nargin-1,0);
310  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
311  obj->print();
312 }
313 
314 void Test_return_Point2Ptr_19(int nargout, mxArray *out[], int nargin, const mxArray *in[])
315 {
316  checkArguments("return_Point2Ptr",nargout,nargin-1,1);
317  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
318  bool value = unwrap< bool >(in[1]);
319  {
320  boost::shared_ptr<Point2> shared(obj->return_Point2Ptr(value));
321  out[0] = wrap_shared_ptr(shared,"Point2");
322  }
323 }
324 
325 void Test_return_Test_20(int nargout, mxArray *out[], int nargin, const mxArray *in[])
326 {
327  checkArguments("return_Test",nargout,nargin-1,1);
328  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
329  boost::shared_ptr<Test> value = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
330  out[0] = wrap_shared_ptr(boost::make_shared<Test>(obj->return_Test(value)),"Test", false);
331 }
332 
333 void Test_return_TestPtr_21(int nargout, mxArray *out[], int nargin, const mxArray *in[])
334 {
335  checkArguments("return_TestPtr",nargout,nargin-1,1);
336  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
337  boost::shared_ptr<Test> value = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
338  out[0] = wrap_shared_ptr(obj->return_TestPtr(value),"Test", false);
339 }
340 
341 void Test_return_bool_22(int nargout, mxArray *out[], int nargin, const mxArray *in[])
342 {
343  checkArguments("return_bool",nargout,nargin-1,1);
344  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
345  bool value = unwrap< bool >(in[1]);
346  out[0] = wrap< bool >(obj->return_bool(value));
347 }
348 
349 void Test_return_double_23(int nargout, mxArray *out[], int nargin, const mxArray *in[])
350 {
351  checkArguments("return_double",nargout,nargin-1,1);
352  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
353  double value = unwrap< double >(in[1]);
354  out[0] = wrap< double >(obj->return_double(value));
355 }
356 
357 void Test_return_field_24(int nargout, mxArray *out[], int nargin, const mxArray *in[])
358 {
359  checkArguments("return_field",nargout,nargin-1,1);
360  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
361  Test& t = *unwrap_shared_ptr< Test >(in[1], "ptr_Test");
362  out[0] = wrap< bool >(obj->return_field(t));
363 }
364 
365 void Test_return_int_25(int nargout, mxArray *out[], int nargin, const mxArray *in[])
366 {
367  checkArguments("return_int",nargout,nargin-1,1);
368  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
369  int value = unwrap< int >(in[1]);
370  out[0] = wrap< int >(obj->return_int(value));
371 }
372 
373 void Test_return_matrix1_26(int nargout, mxArray *out[], int nargin, const mxArray *in[])
374 {
375  checkArguments("return_matrix1",nargout,nargin-1,1);
376  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
377  Matrix value = unwrap< Matrix >(in[1]);
378  out[0] = wrap< Matrix >(obj->return_matrix1(value));
379 }
380 
381 void Test_return_matrix2_27(int nargout, mxArray *out[], int nargin, const mxArray *in[])
382 {
383  checkArguments("return_matrix2",nargout,nargin-1,1);
384  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
385  Matrix value = unwrap< Matrix >(in[1]);
386  out[0] = wrap< Matrix >(obj->return_matrix2(value));
387 }
388 
389 void Test_return_pair_28(int nargout, mxArray *out[], int nargin, const mxArray *in[])
390 {
391  checkArguments("return_pair",nargout,nargin-1,2);
392  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
393  Vector v = unwrap< Vector >(in[1]);
394  Matrix A = unwrap< Matrix >(in[2]);
395  auto pairResult = obj->return_pair(v,A);
396  out[0] = wrap< Vector >(pairResult.first);
397  out[1] = wrap< Matrix >(pairResult.second);
398 }
399 
400 void Test_return_pair_29(int nargout, mxArray *out[], int nargin, const mxArray *in[])
401 {
402  checkArguments("return_pair",nargout,nargin-1,1);
403  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
404  Vector v = unwrap< Vector >(in[1]);
405  auto pairResult = obj->return_pair(v);
406  out[0] = wrap< Vector >(pairResult.first);
407  out[1] = wrap< Matrix >(pairResult.second);
408 }
409 
410 void Test_return_ptrs_30(int nargout, mxArray *out[], int nargin, const mxArray *in[])
411 {
412  checkArguments("return_ptrs",nargout,nargin-1,2);
413  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
414  boost::shared_ptr<Test> p1 = unwrap_shared_ptr< Test >(in[1], "ptr_Test");
415  boost::shared_ptr<Test> p2 = unwrap_shared_ptr< Test >(in[2], "ptr_Test");
416  auto pairResult = obj->return_ptrs(p1,p2);
417  out[0] = wrap_shared_ptr(pairResult.first,"Test", false);
418  out[1] = wrap_shared_ptr(pairResult.second,"Test", false);
419 }
420 
421 void Test_return_size_t_31(int nargout, mxArray *out[], int nargin, const mxArray *in[])
422 {
423  checkArguments("return_size_t",nargout,nargin-1,1);
424  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
425  size_t value = unwrap< size_t >(in[1]);
426  out[0] = wrap< size_t >(obj->return_size_t(value));
427 }
428 
429 void Test_return_string_32(int nargout, mxArray *out[], int nargin, const mxArray *in[])
430 {
431  checkArguments("return_string",nargout,nargin-1,1);
432  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
433  string value = unwrap< string >(in[1]);
434  out[0] = wrap< string >(obj->return_string(value));
435 }
436 
437 void Test_return_vector1_33(int nargout, mxArray *out[], int nargin, const mxArray *in[])
438 {
439  checkArguments("return_vector1",nargout,nargin-1,1);
440  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
441  Vector value = unwrap< Vector >(in[1]);
442  out[0] = wrap< Vector >(obj->return_vector1(value));
443 }
444 
445 void Test_return_vector2_34(int nargout, mxArray *out[], int nargin, const mxArray *in[])
446 {
447  checkArguments("return_vector2",nargout,nargin-1,1);
448  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
449  Vector value = unwrap< Vector >(in[1]);
450  out[0] = wrap< Vector >(obj->return_vector2(value));
451 }
452 
453 void Test_set_container_35(int nargout, mxArray *out[], int nargin, const mxArray *in[])
454 {
455  checkArguments("set_container",nargout,nargin-1,1);
456  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
457  boost::shared_ptr<std::vector<testing::Test>> container = unwrap_shared_ptr< std::vector<testing::Test> >(in[1], "ptr_stdvectorTest");
458  obj->set_container(*container);
459 }
460 
461 void Test_set_container_36(int nargout, mxArray *out[], int nargin, const mxArray *in[])
462 {
463  checkArguments("set_container",nargout,nargin-1,1);
464  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
465  boost::shared_ptr<std::vector<testing::Test>> container = unwrap_shared_ptr< std::vector<testing::Test> >(in[1], "ptr_stdvectorTest");
466  obj->set_container(*container);
467 }
468 
469 void Test_set_container_37(int nargout, mxArray *out[], int nargin, const mxArray *in[])
470 {
471  checkArguments("set_container",nargout,nargin-1,1);
472  auto obj = unwrap_shared_ptr<Test>(in[0], "ptr_Test");
473  boost::shared_ptr<std::vector<testing::Test>> container = unwrap_shared_ptr< std::vector<testing::Test> >(in[1], "ptr_stdvectorTest");
474  obj->set_container(*container);
475 }
476 
477 void PrimitiveRefDouble_collectorInsertAndMakeBase_38(int nargout, mxArray *out[], int nargin, const mxArray *in[])
478 {
479  mexAtExit(&_deleteAllObjects);
480  typedef boost::shared_ptr<PrimitiveRef<double>> Shared;
481 
482  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
483  collector_PrimitiveRefDouble.insert(self);
484 }
485 
486 void PrimitiveRefDouble_constructor_39(int nargout, mxArray *out[], int nargin, const mxArray *in[])
487 {
488  mexAtExit(&_deleteAllObjects);
489  typedef boost::shared_ptr<PrimitiveRef<double>> Shared;
490 
491  Shared *self = new Shared(new PrimitiveRef<double>());
492  collector_PrimitiveRefDouble.insert(self);
493  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
494  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
495 }
496 
497 void PrimitiveRefDouble_deconstructor_40(int nargout, mxArray *out[], int nargin, const mxArray *in[])
498 {
499  typedef boost::shared_ptr<PrimitiveRef<double>> Shared;
500  checkArguments("delete_PrimitiveRefDouble",nargout,nargin,1);
501  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
502  Collector_PrimitiveRefDouble::iterator item;
503  item = collector_PrimitiveRefDouble.find(self);
504  if(item != collector_PrimitiveRefDouble.end()) {
505  delete self;
506  collector_PrimitiveRefDouble.erase(item);
507  }
508 }
509 
510 void PrimitiveRefDouble_Brutal_41(int nargout, mxArray *out[], int nargin, const mxArray *in[])
511 {
512  checkArguments("PrimitiveRefDouble.Brutal",nargout,nargin,1);
513  double t = unwrap< double >(in[0]);
514  out[0] = wrap_shared_ptr(boost::make_shared<PrimitiveRef<double>>(PrimitiveRef<double>::Brutal(t)),"PrimitiveRefdouble", false);
515 }
516 
517 void MyVector3_collectorInsertAndMakeBase_42(int nargout, mxArray *out[], int nargin, const mxArray *in[])
518 {
519  mexAtExit(&_deleteAllObjects);
520  typedef boost::shared_ptr<MyVector<3>> Shared;
521 
522  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
523  collector_MyVector3.insert(self);
524 }
525 
526 void MyVector3_constructor_43(int nargout, mxArray *out[], int nargin, const mxArray *in[])
527 {
528  mexAtExit(&_deleteAllObjects);
529  typedef boost::shared_ptr<MyVector<3>> Shared;
530 
531  Shared *self = new Shared(new MyVector<3>());
532  collector_MyVector3.insert(self);
533  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
534  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
535 }
536 
537 void MyVector3_deconstructor_44(int nargout, mxArray *out[], int nargin, const mxArray *in[])
538 {
539  typedef boost::shared_ptr<MyVector<3>> Shared;
540  checkArguments("delete_MyVector3",nargout,nargin,1);
541  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
542  Collector_MyVector3::iterator item;
543  item = collector_MyVector3.find(self);
544  if(item != collector_MyVector3.end()) {
545  delete self;
546  collector_MyVector3.erase(item);
547  }
548 }
549 
550 void MyVector12_collectorInsertAndMakeBase_45(int nargout, mxArray *out[], int nargin, const mxArray *in[])
551 {
552  mexAtExit(&_deleteAllObjects);
553  typedef boost::shared_ptr<MyVector<12>> Shared;
554 
555  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
556  collector_MyVector12.insert(self);
557 }
558 
559 void MyVector12_constructor_46(int nargout, mxArray *out[], int nargin, const mxArray *in[])
560 {
561  mexAtExit(&_deleteAllObjects);
562  typedef boost::shared_ptr<MyVector<12>> Shared;
563 
564  Shared *self = new Shared(new MyVector<12>());
565  collector_MyVector12.insert(self);
566  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
567  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
568 }
569 
570 void MyVector12_deconstructor_47(int nargout, mxArray *out[], int nargin, const mxArray *in[])
571 {
572  typedef boost::shared_ptr<MyVector<12>> Shared;
573  checkArguments("delete_MyVector12",nargout,nargin,1);
574  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
575  Collector_MyVector12::iterator item;
576  item = collector_MyVector12.find(self);
577  if(item != collector_MyVector12.end()) {
578  delete self;
579  collector_MyVector12.erase(item);
580  }
581 }
582 
583 void MultipleTemplatesIntDouble_collectorInsertAndMakeBase_48(int nargout, mxArray *out[], int nargin, const mxArray *in[])
584 {
585  mexAtExit(&_deleteAllObjects);
586  typedef boost::shared_ptr<MultipleTemplates<int, double>> Shared;
587 
588  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
590 }
591 
592 void MultipleTemplatesIntDouble_deconstructor_49(int nargout, mxArray *out[], int nargin, const mxArray *in[])
593 {
594  typedef boost::shared_ptr<MultipleTemplates<int, double>> Shared;
595  checkArguments("delete_MultipleTemplatesIntDouble",nargout,nargin,1);
596  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
597  Collector_MultipleTemplatesIntDouble::iterator item;
598  item = collector_MultipleTemplatesIntDouble.find(self);
599  if(item != collector_MultipleTemplatesIntDouble.end()) {
600  delete self;
602  }
603 }
604 
605 void MultipleTemplatesIntFloat_collectorInsertAndMakeBase_50(int nargout, mxArray *out[], int nargin, const mxArray *in[])
606 {
607  mexAtExit(&_deleteAllObjects);
608  typedef boost::shared_ptr<MultipleTemplates<int, float>> Shared;
609 
610  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
612 }
613 
614 void MultipleTemplatesIntFloat_deconstructor_51(int nargout, mxArray *out[], int nargin, const mxArray *in[])
615 {
616  typedef boost::shared_ptr<MultipleTemplates<int, float>> Shared;
617  checkArguments("delete_MultipleTemplatesIntFloat",nargout,nargin,1);
618  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
619  Collector_MultipleTemplatesIntFloat::iterator item;
620  item = collector_MultipleTemplatesIntFloat.find(self);
621  if(item != collector_MultipleTemplatesIntFloat.end()) {
622  delete self;
624  }
625 }
626 
627 void MyFactorPosePoint2_collectorInsertAndMakeBase_52(int nargout, mxArray *out[], int nargin, const mxArray *in[])
628 {
629  mexAtExit(&_deleteAllObjects);
630  typedef boost::shared_ptr<MyFactor<gtsam::Pose2, gtsam::Matrix>> Shared;
631 
632  Shared *self = *reinterpret_cast<Shared**> (mxGetData(in[0]));
633  collector_MyFactorPosePoint2.insert(self);
634 }
635 
636 void MyFactorPosePoint2_constructor_53(int nargout, mxArray *out[], int nargin, const mxArray *in[])
637 {
638  mexAtExit(&_deleteAllObjects);
639  typedef boost::shared_ptr<MyFactor<gtsam::Pose2, gtsam::Matrix>> Shared;
640 
641  size_t key1 = unwrap< size_t >(in[0]);
642  size_t key2 = unwrap< size_t >(in[1]);
643  double measured = unwrap< double >(in[2]);
644  boost::shared_ptr<gtsam::noiseModel::Base> noiseModel = unwrap_shared_ptr< gtsam::noiseModel::Base >(in[3], "ptr_gtsamnoiseModelBase");
645  Shared *self = new Shared(new MyFactor<gtsam::Pose2, gtsam::Matrix>(key1,key2,measured,noiseModel));
646  collector_MyFactorPosePoint2.insert(self);
647  out[0] = mxCreateNumericMatrix(1, 1, mxUINT32OR64_CLASS, mxREAL);
648  *reinterpret_cast<Shared**> (mxGetData(out[0])) = self;
649 }
650 
651 void MyFactorPosePoint2_deconstructor_54(int nargout, mxArray *out[], int nargin, const mxArray *in[])
652 {
653  typedef boost::shared_ptr<MyFactor<gtsam::Pose2, gtsam::Matrix>> Shared;
654  checkArguments("delete_MyFactorPosePoint2",nargout,nargin,1);
655  Shared *self = *reinterpret_cast<Shared**>(mxGetData(in[0]));
656  Collector_MyFactorPosePoint2::iterator item;
657  item = collector_MyFactorPosePoint2.find(self);
658  if(item != collector_MyFactorPosePoint2.end()) {
659  delete self;
660  collector_MyFactorPosePoint2.erase(item);
661  }
662 }
663 
664 void MyFactorPosePoint2_print_55(int nargout, mxArray *out[], int nargin, const mxArray *in[])
665 {
666  checkArguments("print",nargout,nargin-1,2);
667  auto obj = unwrap_shared_ptr<MyFactor<gtsam::Pose2, gtsam::Matrix>>(in[0], "ptr_MyFactorPosePoint2");
668  string& s = *unwrap_shared_ptr< string >(in[1], "ptr_string");
669  gtsam::KeyFormatter& keyFormatter = *unwrap_shared_ptr< gtsam::KeyFormatter >(in[2], "ptr_gtsamKeyFormatter");
670  obj->print(s,keyFormatter);
671 }
672 
673 
674 void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
675 {
676  mstream mout;
677  std::streambuf *outbuf = std::cout.rdbuf(&mout);
678 
680 
681  int id = unwrap<int>(in[0]);
682 
683  try {
684  switch(id) {
685  case 0:
686  FunRange_collectorInsertAndMakeBase_0(nargout, out, nargin-1, in+1);
687  break;
688  case 1:
689  FunRange_constructor_1(nargout, out, nargin-1, in+1);
690  break;
691  case 2:
692  FunRange_deconstructor_2(nargout, out, nargin-1, in+1);
693  break;
694  case 3:
695  FunRange_range_3(nargout, out, nargin-1, in+1);
696  break;
697  case 4:
698  FunRange_create_4(nargout, out, nargin-1, in+1);
699  break;
700  case 5:
701  FunDouble_collectorInsertAndMakeBase_5(nargout, out, nargin-1, in+1);
702  break;
703  case 6:
704  FunDouble_deconstructor_6(nargout, out, nargin-1, in+1);
705  break;
706  case 7:
707  FunDouble_multiTemplatedMethod_7(nargout, out, nargin-1, in+1);
708  break;
709  case 8:
710  FunDouble_templatedMethod_8(nargout, out, nargin-1, in+1);
711  break;
712  case 9:
713  FunDouble_staticMethodWithThis_9(nargout, out, nargin-1, in+1);
714  break;
715  case 10:
716  Test_collectorInsertAndMakeBase_10(nargout, out, nargin-1, in+1);
717  break;
718  case 11:
719  Test_constructor_11(nargout, out, nargin-1, in+1);
720  break;
721  case 12:
722  Test_constructor_12(nargout, out, nargin-1, in+1);
723  break;
724  case 13:
725  Test_deconstructor_13(nargout, out, nargin-1, in+1);
726  break;
727  case 14:
728  Test_arg_EigenConstRef_14(nargout, out, nargin-1, in+1);
729  break;
730  case 15:
731  Test_create_MixedPtrs_15(nargout, out, nargin-1, in+1);
732  break;
733  case 16:
734  Test_create_ptrs_16(nargout, out, nargin-1, in+1);
735  break;
736  case 17:
737  Test_get_container_17(nargout, out, nargin-1, in+1);
738  break;
739  case 18:
740  Test_print_18(nargout, out, nargin-1, in+1);
741  break;
742  case 19:
743  Test_return_Point2Ptr_19(nargout, out, nargin-1, in+1);
744  break;
745  case 20:
746  Test_return_Test_20(nargout, out, nargin-1, in+1);
747  break;
748  case 21:
749  Test_return_TestPtr_21(nargout, out, nargin-1, in+1);
750  break;
751  case 22:
752  Test_return_bool_22(nargout, out, nargin-1, in+1);
753  break;
754  case 23:
755  Test_return_double_23(nargout, out, nargin-1, in+1);
756  break;
757  case 24:
758  Test_return_field_24(nargout, out, nargin-1, in+1);
759  break;
760  case 25:
761  Test_return_int_25(nargout, out, nargin-1, in+1);
762  break;
763  case 26:
764  Test_return_matrix1_26(nargout, out, nargin-1, in+1);
765  break;
766  case 27:
767  Test_return_matrix2_27(nargout, out, nargin-1, in+1);
768  break;
769  case 28:
770  Test_return_pair_28(nargout, out, nargin-1, in+1);
771  break;
772  case 29:
773  Test_return_pair_29(nargout, out, nargin-1, in+1);
774  break;
775  case 30:
776  Test_return_ptrs_30(nargout, out, nargin-1, in+1);
777  break;
778  case 31:
779  Test_return_size_t_31(nargout, out, nargin-1, in+1);
780  break;
781  case 32:
782  Test_return_string_32(nargout, out, nargin-1, in+1);
783  break;
784  case 33:
785  Test_return_vector1_33(nargout, out, nargin-1, in+1);
786  break;
787  case 34:
788  Test_return_vector2_34(nargout, out, nargin-1, in+1);
789  break;
790  case 35:
791  Test_set_container_35(nargout, out, nargin-1, in+1);
792  break;
793  case 36:
794  Test_set_container_36(nargout, out, nargin-1, in+1);
795  break;
796  case 37:
797  Test_set_container_37(nargout, out, nargin-1, in+1);
798  break;
799  case 38:
800  PrimitiveRefDouble_collectorInsertAndMakeBase_38(nargout, out, nargin-1, in+1);
801  break;
802  case 39:
803  PrimitiveRefDouble_constructor_39(nargout, out, nargin-1, in+1);
804  break;
805  case 40:
806  PrimitiveRefDouble_deconstructor_40(nargout, out, nargin-1, in+1);
807  break;
808  case 41:
809  PrimitiveRefDouble_Brutal_41(nargout, out, nargin-1, in+1);
810  break;
811  case 42:
812  MyVector3_collectorInsertAndMakeBase_42(nargout, out, nargin-1, in+1);
813  break;
814  case 43:
815  MyVector3_constructor_43(nargout, out, nargin-1, in+1);
816  break;
817  case 44:
818  MyVector3_deconstructor_44(nargout, out, nargin-1, in+1);
819  break;
820  case 45:
821  MyVector12_collectorInsertAndMakeBase_45(nargout, out, nargin-1, in+1);
822  break;
823  case 46:
824  MyVector12_constructor_46(nargout, out, nargin-1, in+1);
825  break;
826  case 47:
827  MyVector12_deconstructor_47(nargout, out, nargin-1, in+1);
828  break;
829  case 48:
830  MultipleTemplatesIntDouble_collectorInsertAndMakeBase_48(nargout, out, nargin-1, in+1);
831  break;
832  case 49:
833  MultipleTemplatesIntDouble_deconstructor_49(nargout, out, nargin-1, in+1);
834  break;
835  case 50:
836  MultipleTemplatesIntFloat_collectorInsertAndMakeBase_50(nargout, out, nargin-1, in+1);
837  break;
838  case 51:
839  MultipleTemplatesIntFloat_deconstructor_51(nargout, out, nargin-1, in+1);
840  break;
841  case 52:
842  MyFactorPosePoint2_collectorInsertAndMakeBase_52(nargout, out, nargin-1, in+1);
843  break;
844  case 53:
845  MyFactorPosePoint2_constructor_53(nargout, out, nargin-1, in+1);
846  break;
847  case 54:
848  MyFactorPosePoint2_deconstructor_54(nargout, out, nargin-1, in+1);
849  break;
850  case 55:
851  MyFactorPosePoint2_print_55(nargout, out, nargin-1, in+1);
852  break;
853  }
854  } catch(const std::exception& e) {
855  mexErrMsgTxt(("Exception from gtsam:\n" + std::string(e.what()) + "\n").c_str());
856  }
857 
858  std::cout.rdbuf(outbuf);
859 }
int unwrap< int >(const mxArray *array)
Definition: matlab.h:295
MyVector< 3 > MyVector3
void Test_return_matrix1_26(int nargout, mxArray *out[], int nargin, const mxArray *in[])
gtsam::enable_if_t< needs_eigen_aligned_allocator< T >::value, boost::shared_ptr< T > > make_shared(Args &&...args)
Definition: make_shared.h:57
Fun< double > FunDouble
std::set< boost::shared_ptr< Test > * > Collector_Test
PrimitiveRef< double > PrimitiveRefDouble
void MultipleTemplatesIntFloat_collectorInsertAndMakeBase_50(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_return_pair_29(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Scalar * b
Definition: benchVecAdd.cpp:17
void Test_constructor_12(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_print_18(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Vector3f p1
void MyVector3_constructor_43(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void PrimitiveRefDouble_Brutal_41(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void FunRange_collectorInsertAndMakeBase_0(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_get_container_17(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyFactorPosePoint2_collectorInsertAndMakeBase_52(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void PrimitiveRefDouble_constructor_39(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void checkArguments(const string &name, int nargout, int nargin, int expected)
Definition: matlab.h:116
void Test_return_ptrs_30(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_FunDouble collector_FunDouble
void Test_set_container_36(int nargout, mxArray *out[], int nargin, const mxArray *in[])
ArrayXcf v
Definition: Cwise_arg.cpp:1
void FunDouble_collectorInsertAndMakeBase_5(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void PrimitiveRefDouble_collectorInsertAndMakeBase_38(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void _class_RTTIRegister()
void MyFactorPosePoint2_constructor_53(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Definition: Test.h:30
static Collector_MultipleTemplatesIntFloat collector_MultipleTemplatesIntFloat
string unwrap< string >(const mxArray *array)
Definition: matlab.h:250
iterator iter(handle obj)
Definition: pytypes.h:1547
size_t unwrap< size_t >(const mxArray *array)
Definition: matlab.h:302
void FunRange_constructor_1(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< boost::shared_ptr< MyVector12 > * > Collector_MyVector12
mxArray * wrap_shared_ptr(boost::shared_ptr< Class > shared_ptr, const std::string &matlabName, bool isVirtual)
Definition: matlab.h:454
GeneralSFMFactor< SfmCamera, Point3 > MyFactor
std::set< boost::shared_ptr< MultipleTemplatesIntDouble > * > Collector_MultipleTemplatesIntDouble
MultipleTemplates< int, float > MultipleTemplatesIntFloat
void MyFactorPosePoint2_print_55(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_return_TestPtr_21(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_collectorInsertAndMakeBase_10(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_PrimitiveRefDouble collector_PrimitiveRefDouble
void Test_return_field_24(int nargout, mxArray *out[], int nargin, const mxArray *in[])
mxArray * wrap< size_t >(const size_t &value)
Definition: matlab.h:167
void _deleteAllObjects()
Array33i a
void FunDouble_templatedMethod_8(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyVector12_deconstructor_47(int nargout, mxArray *out[], int nargin, const mxArray *in[])
const Symbol key1('v', 1)
static Collector_Test collector_Test
void Test_return_vector1_33(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_FunRange collector_FunRange
void FunDouble_staticMethodWithThis_9(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void FunRange_range_3(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MultipleTemplatesIntDouble_collectorInsertAndMakeBase_48(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< boost::shared_ptr< MultipleTemplatesIntFloat > * > Collector_MultipleTemplatesIntFloat
void MultipleTemplatesIntFloat_deconstructor_51(int nargout, mxArray *out[], int nargin, const mxArray *in[])
double unwrap< double >(const mxArray *array)
Definition: matlab.h:309
std::set< boost::shared_ptr< MyFactorPosePoint2 > * > Collector_MyFactorPosePoint2
static Collector_MyVector3 collector_MyVector3
MyFactor< gtsam::Pose2, gtsam::Matrix > MyFactorPosePoint2
void PrimitiveRefDouble_deconstructor_40(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_return_pair_28(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_create_ptrs_16(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyFactorPosePoint2_deconstructor_54(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void mexFunction(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void FunRange_create_4(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
std::set< boost::shared_ptr< FunDouble > * > Collector_FunDouble
void MyVector3_deconstructor_44(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Array< double, 1, 3 > e(1./3., 0.5, 2.)
RealScalar s
std::set< boost::shared_ptr< PrimitiveRefDouble > * > Collector_PrimitiveRefDouble
void MyVector3_collectorInsertAndMakeBase_42(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_arg_EigenConstRef_14(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_return_double_23(int nargout, mxArray *out[], int nargin, const mxArray *in[])
#define NULL
Definition: ccolamd.c:609
void MultipleTemplatesIntDouble_deconstructor_49(int nargout, mxArray *out[], int nargin, const mxArray *in[])
mxArray * wrap< int >(const int &value)
Definition: matlab.h:175
void Test_return_string_32(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_return_matrix2_27(int nargout, mxArray *out[], int nargin, const mxArray *in[])
mxArray * wrap< double >(const double &value)
Definition: matlab.h:183
void Test_return_size_t_31(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_return_bool_22(int nargout, mxArray *out[], int nargin, const mxArray *in[])
MyVector< 12 > MyVector12
std::set< boost::shared_ptr< MyVector3 > * > Collector_MyVector3
#define mxUINT32OR64_CLASS
Definition: matlab.h:61
void FunDouble_multiTemplatedMethod_7(int nargout, mxArray *out[], int nargin, const mxArray *in[])
ADT create(const Signature &signature)
void Test_return_Point2Ptr_19(int nargout, mxArray *out[], int nargin, const mxArray *in[])
std::set< boost::shared_ptr< FunRange > * > Collector_FunRange
const Symbol key2('v', 2)
mxArray * wrap< string >(const string &value)
Definition: matlab.h:137
void FunDouble_deconstructor_6(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_deconstructor_13(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void MyVector12_constructor_46(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Point3 p2
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > Matrix
MultipleTemplates< int, double > MultipleTemplatesIntDouble
void Test_return_int_25(int nargout, mxArray *out[], int nargin, const mxArray *in[])
mxArray * wrap< bool >(const bool &value)
Definition: matlab.h:159
void Test_create_MixedPtrs_15(int nargout, mxArray *out[], int nargin, const mxArray *in[])
bool unwrap< bool >(const mxArray *array)
Definition: matlab.h:274
Point3 measured
void Test_return_vector2_34(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_constructor_11(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Eigen::Matrix< double, Eigen::Dynamic, 1 > Vector
void MyVector12_collectorInsertAndMakeBase_45(int nargout, mxArray *out[], int nargin, const mxArray *in[])
void Test_set_container_35(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Definition: matlab.h:98
void FunRange_deconstructor_2(int nargout, mxArray *out[], int nargin, const mxArray *in[])
Point2 t(10, 10)
void Test_set_container_37(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_MyVector12 collector_MyVector12
void Test_return_Test_20(int nargout, mxArray *out[], int nargin, const mxArray *in[])
static Collector_MultipleTemplatesIntDouble collector_MultipleTemplatesIntDouble
static Collector_MyFactorPosePoint2 collector_MyFactorPosePoint2


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:41:47