From 0e5332ed3ede7fbdf6dedde4e374c4495a1ff2be Mon Sep 17 00:00:00 2001 From: dellaert Date: Mon, 1 Dec 2014 10:30:47 +0100 Subject: [PATCH] Removed incorrect void, which fixed old problems and even improves on generated code. --- wrap/Module.cpp | 1 - wrap/tests/expected2/MyTemplatePoint2.m | 12 ++++++------ wrap/tests/expected2/MyTemplatePoint3.m | 12 ++++++------ wrap/tests/expected2/geometry_wrapper.cpp | 12 ++++++++---- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/wrap/Module.cpp b/wrap/Module.cpp index 25a5a5cac..35a40c02d 100644 --- a/wrap/Module.cpp +++ b/wrap/Module.cpp @@ -119,7 +119,6 @@ void Module::parseMarkup(const std::string& data) { vector templateArgValues; TypeGrammar templateArgValue_g(templateArgValue); Rule templateArgValue_p = templateArgValue_g - [assign_a(templateArgValue.category, Qualified::VOID)] // TODO: why ? [push_back_a(templateArgValues, templateArgValue)] [clear_a(templateArgValue)]; diff --git a/wrap/tests/expected2/MyTemplatePoint2.m b/wrap/tests/expected2/MyTemplatePoint2.m index 18c841b5d..235957963 100644 --- a/wrap/tests/expected2/MyTemplatePoint2.m +++ b/wrap/tests/expected2/MyTemplatePoint2.m @@ -83,7 +83,7 @@ classdef MyTemplatePoint2 < MyBase % RETURN_T usage: return_T(Point2 value) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(52, this, varargin{:}); + varargout{1} = geometry_wrapper(52, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.return_T'); end @@ -93,7 +93,7 @@ classdef MyTemplatePoint2 < MyBase % RETURN_TPTR usage: return_Tptr(Point2 value) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(53, this, varargin{:}); + varargout{1} = geometry_wrapper(53, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.return_Tptr'); end @@ -113,7 +113,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODMATRIX usage: templatedMethodMatrix(Matrix t) : returns Matrix % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(55, this, varargin{:}); + varargout{1} = geometry_wrapper(55, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end @@ -123,7 +123,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODPOINT2 usage: templatedMethodPoint2(Point2 t) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(56, this, varargin{:}); + varargout{1} = geometry_wrapper(56, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end @@ -133,7 +133,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODPOINT3 usage: templatedMethodPoint3(Point3 t) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(57, this, varargin{:}); + varargout{1} = geometry_wrapper(57, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end @@ -143,7 +143,7 @@ classdef MyTemplatePoint2 < MyBase % TEMPLATEDMETHODVECTOR usage: templatedMethodVector(Vector t) : returns Vector % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') && size(varargin{1},2)==1 - geometry_wrapper(58, this, varargin{:}); + varargout{1} = geometry_wrapper(58, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint2.templatedMethod'); end diff --git a/wrap/tests/expected2/MyTemplatePoint3.m b/wrap/tests/expected2/MyTemplatePoint3.m index fab352072..45fe34a0a 100644 --- a/wrap/tests/expected2/MyTemplatePoint3.m +++ b/wrap/tests/expected2/MyTemplatePoint3.m @@ -83,7 +83,7 @@ classdef MyTemplatePoint3 < MyBase % RETURN_T usage: return_T(Point3 value) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(67, this, varargin{:}); + varargout{1} = geometry_wrapper(67, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.return_T'); end @@ -93,7 +93,7 @@ classdef MyTemplatePoint3 < MyBase % RETURN_TPTR usage: return_Tptr(Point3 value) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(68, this, varargin{:}); + varargout{1} = geometry_wrapper(68, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.return_Tptr'); end @@ -113,7 +113,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODMATRIX usage: templatedMethodMatrix(Matrix t) : returns Matrix % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') - geometry_wrapper(70, this, varargin{:}); + varargout{1} = geometry_wrapper(70, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end @@ -123,7 +123,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODPOINT2 usage: templatedMethodPoint2(Point2 t) : returns gtsam::Point2 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point2') - geometry_wrapper(71, this, varargin{:}); + varargout{1} = geometry_wrapper(71, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end @@ -133,7 +133,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODPOINT3 usage: templatedMethodPoint3(Point3 t) : returns gtsam::Point3 % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'gtsam.Point3') - geometry_wrapper(72, this, varargin{:}); + varargout{1} = geometry_wrapper(72, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end @@ -143,7 +143,7 @@ classdef MyTemplatePoint3 < MyBase % TEMPLATEDMETHODVECTOR usage: templatedMethodVector(Vector t) : returns Vector % Doxygen can be found at http://research.cc.gatech.edu/borg/sites/edu.borg/html/index.html if length(varargin) == 1 && isa(varargin{1},'double') && size(varargin{1},2)==1 - geometry_wrapper(73, this, varargin{:}); + varargout{1} = geometry_wrapper(73, this, varargin{:}); else error('Arguments do not match any overload of function MyTemplatePoint3.templatedMethod'); end diff --git a/wrap/tests/expected2/geometry_wrapper.cpp b/wrap/tests/expected2/geometry_wrapper.cpp index 9e6450d70..04e236426 100644 --- a/wrap/tests/expected2/geometry_wrapper.cpp +++ b/wrap/tests/expected2/geometry_wrapper.cpp @@ -685,20 +685,22 @@ void MyTemplatePoint2_templatedMethod_55(int nargout, mxArray *out[], int nargin void MyTemplatePoint2_templatedMethod_56(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { + typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint2",nargout,nargin-1,1); Shared obj = unwrap_shared_ptr(in[0], "ptr_MyTemplatePoint2"); gtsam::Point2& t = *unwrap_shared_ptr< gtsam::Point2 >(in[1], "ptr_gtsamPoint2"); - out[0] = wrap< gtsam::Point2 >(obj->templatedMethod(t)); + out[0] = wrap_shared_ptr(SharedPoint2(new gtsam::Point2(obj->templatedMethod(t))),"gtsam.Point2", false); } void MyTemplatePoint2_templatedMethod_57(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { + typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint3",nargout,nargin-1,1); Shared obj = unwrap_shared_ptr(in[0], "ptr_MyTemplatePoint2"); gtsam::Point3& t = *unwrap_shared_ptr< gtsam::Point3 >(in[1], "ptr_gtsamPoint3"); - out[0] = wrap< gtsam::Point3 >(obj->templatedMethod(t)); + out[0] = wrap_shared_ptr(SharedPoint3(new gtsam::Point3(obj->templatedMethod(t))),"gtsam.Point3", false); } void MyTemplatePoint2_templatedMethod_58(int nargout, mxArray *out[], int nargin, const mxArray *in[]) @@ -847,20 +849,22 @@ void MyTemplatePoint3_templatedMethod_70(int nargout, mxArray *out[], int nargin void MyTemplatePoint3_templatedMethod_71(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { + typedef boost::shared_ptr SharedPoint2; typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint2",nargout,nargin-1,1); Shared obj = unwrap_shared_ptr(in[0], "ptr_MyTemplatePoint3"); gtsam::Point2& t = *unwrap_shared_ptr< gtsam::Point2 >(in[1], "ptr_gtsamPoint2"); - out[0] = wrap< gtsam::Point2 >(obj->templatedMethod(t)); + out[0] = wrap_shared_ptr(SharedPoint2(new gtsam::Point2(obj->templatedMethod(t))),"gtsam.Point2", false); } void MyTemplatePoint3_templatedMethod_72(int nargout, mxArray *out[], int nargin, const mxArray *in[]) { + typedef boost::shared_ptr SharedPoint3; typedef boost::shared_ptr Shared; checkArguments("templatedMethodPoint3",nargout,nargin-1,1); Shared obj = unwrap_shared_ptr(in[0], "ptr_MyTemplatePoint3"); gtsam::Point3& t = *unwrap_shared_ptr< gtsam::Point3 >(in[1], "ptr_gtsamPoint3"); - out[0] = wrap< gtsam::Point3 >(obj->templatedMethod(t)); + out[0] = wrap_shared_ptr(SharedPoint3(new gtsam::Point3(obj->templatedMethod(t))),"gtsam.Point3", false); } void MyTemplatePoint3_templatedMethod_73(int nargout, mxArray *out[], int nargin, const mxArray *in[])