Commit Graph

195 Commits (d5d58fd707e0210ea3401f67f021c9a55848c551)

Author SHA1 Message Date
dellaert b8d7516e93 Successful use of ClassGrammar in Module.cpp 2014-12-02 13:12:42 +01:00
dellaert aceeb2037b Template tightening 2014-12-01 20:29:35 +01:00
dellaert e963512164 Tightened up individual Grammars 2014-12-01 20:03:26 +01:00
dellaert 8eb6393c92 Using TemplateGrammar 2014-12-01 14:35:02 +01:00
dellaert 9a77072654 Successfully used TypeListGrammar 2014-12-01 12:14:08 +01:00
dellaert 4d1225cda7 Moved basic parsers to new header file spirit.h 2014-12-01 11:43:19 +01:00
dellaert e82752e269 Successful use of ArgumentListGrammar 2014-12-01 10:47:42 +01:00
dellaert 0e5332ed3e Removed incorrect void, which fixed old problems and even improves on generated code. 2014-12-01 10:30:47 +01:00
dellaert ba51b02cf0 Moving to optionals fixed template dreturn argument!
Merge branch 'qualified' into grammar_wrongtest

Conflicts:
	wrap/Class.cpp
	wrap/Function.h
	wrap/Qualified.h
	wrap/ReturnType.h
	wrap/tests/testWrap.cpp
2014-12-01 09:48:56 +01:00
dellaert 674344ea0e Pushed through use of some grammars 2014-12-01 00:33:54 +01:00
dellaert 0dcd102f5e Saving before restoring 2014-11-30 20:46:47 +01:00
dellaert 6d916c6b75 Semi-private name/namespaces 2014-11-30 20:20:13 +01:00
dellaert e2ab47b610 Added Vector and Matrix to forward declarations 2014-11-29 20:01:48 +01:00
dellaert 1fd0f964ea Allow Eigen type in typedefs 2014-11-29 13:53:59 +01:00
dellaert be00e1c348 Allow Vector and Matrix in list of template values 2014-11-29 13:44:49 +01:00
dellaert 6c24fc2aca Python prototype 2014-11-14 17:47:25 +01:00
dellaert e07402a58a Re-factored matlab_code only emits code: it does not post-process the classes anymore. That is now done in parse_Markup, i.e., the constructor.... 2014-11-14 17:04:45 +01:00
dellaert 7a4748d3dc Simplified method/function hierarchy drastically, and renamed bottom addOverload to initializeOrCheck to reflect what it does. Also, gratuitous re-ordering of addOverload arguments. 2014-11-14 16:44:08 +01:00
dellaert 09e3c7df9f struct Constructor: public ArgumentOverloads 2014-11-13 21:34:59 +01:00
dellaert a5e0adb7e6 Made methods and global functions derive from Function 2014-11-13 12:52:41 +01:00
dellaert 1ea0225030 Big refactor because methods now private member of Class 2014-11-12 23:23:07 +01:00
dellaert 67ab69d5ba Merge remote-tracking branch 'origin/fix/BAD_wrap' into fix/BAD_wrap_checkpoint
Conflicts:
	wrap/Module.cpp
2014-11-12 19:22:03 +01:00
dellaert 34a0913125 Fixed issue with templateArgName overloading 2014-11-12 19:09:30 +01:00
dellaert c8ac7f8980 Cleaned up variables 2014-11-12 18:04:38 +01:00
dellaert 0a23529032 Everything compiles 2014-11-12 14:37:08 +01:00
dellaert 443b710a8d Re-factoring ReturnValue 2014-11-12 13:31:46 +01:00
dellaert 9b9d9a6b54 Eliminated copy/paste 2014-11-12 03:26:13 +01:00
dellaert 77935bd631 Massive edit: new Qualified type groups namespaces with name, eliminates a lot of clutter. 2014-11-12 02:49:23 +01:00
dellaert b8d9d5b6ca Starting down the path of a templated method 2014-11-11 22:38:50 +01:00
dellaert c66d6bd1a4 Added templated class 2014-11-11 18:14:17 +01:00
dellaert 8a555c7e05 Comment 2014-11-11 13:42:25 +01:00
dellaert 2946bcdc82 Slight refactor/comments 2014-11-10 17:56:22 +01:00
dellaert 52cd200718 ReturnValue now emits, eliminated some copy/paste. Also removed unused verbose field/argument in ReturnValue 2014-05-25 14:53:32 -04:00
Richard Roberts 1770f44ad9 Fixed a number of clang warnings 2014-02-23 18:53:48 -05:00
Andrew Melim c378d7379f Remove accidental commit in Module 2013-10-26 22:41:18 +00:00
Andrew Melim 5e29bc5b67 Return set partitions from DFSMap 2013-10-26 22:22:31 +00:00
Alex Cunningham 876edb4197 Added cmake flag to disable serialization for wrapped objects directly, rather than outright disabling serialization. By default GTSAM_WRAP_SERIALIZATION is on, turn it off to ignore serialization flags in gtsam.h 2013-10-24 14:38:04 +00:00
Alex Cunningham 9f9807ef19 Yet even more rebasing 2013-06-20 17:08:29 +00:00
Alex Cunningham 90246a4dab Rebasing... 2013-06-20 17:08:27 +00:00
Alex Cunningham 23de91d44d serialization works for graph and PriorFactor. Added second flag for serialization: can add "void serializable()" or "void serialize()" to allow for either just exporting (necessary if no default constructor), or implementing the full serialization functions 2013-06-19 17:50:05 +00:00
Alex Cunningham f1b1a2f7d2 Added export flags, Values now serializes 2013-06-19 17:50:03 +00:00
Alex Cunningham 8e73619989 Adding codegen components for serialization - in progress 2013-06-19 17:49:57 +00:00
Alex Cunningham c7576deb15 Added flag for serializable to parser, no codegen yet 2013-06-19 17:49:55 +00:00
Duy-Nguyen Ta b1b05887fc allow method starting with uppercase letter to be wrapped in matlab. Wrap Pose3's AdjointMap and Adjoint operator 2013-04-21 19:29:41 +00:00
Richard Roberts 547323cc79 Fixed a bunch of compiler warnings 2013-04-05 21:34:04 +00:00
Richard Roberts 12f8152891 Small bug fix in wrap - for return types, try to parse 'pair' before a simple type to prevent 'pair' spuriously being stored as the namespace of the return type, which causes return type validation to fail for pairs of simple types, i.e. 'pair<int,int>' 2013-01-28 17:41:42 +00:00
Richard Roberts 981c3363e6 Whitespace 2013-01-28 17:41:41 +00:00
Richard Roberts 0898e4a6aa Wrap prints more detailed error message for parse errors 2012-12-03 19:08:16 +00:00
Alex Cunningham d57838b4cb Cleaned up commented code, tweaked formatting 2012-11-27 19:03:23 +00:00
Alex Cunningham 0030a28e45 all tests pass with new hack to parse pointers on arguments 2012-11-27 19:03:22 +00:00
Alex Cunningham 2f44bc0a1a Simple hack around assigning return category flags, tests pass in debug, fail on pointer argument passing in release mode 2012-11-27 19:03:21 +00:00
Alex Cunningham ab7655e5eb Further debugging and tests of parsing issue with return type flags 2012-11-27 19:03:20 +00:00
Alex Cunningham d1b9185918 Trying more variations. Fixed small valgrind issue that didn't actually have an effect 2012-11-27 19:03:19 +00:00
Alex Cunningham 47fcb17ead Small variations on parser to try to debug problem 2012-11-27 19:03:18 +00:00
Alex Cunningham 16ad77cb53 Adding tests and notes to investigate errors parsing return types 2012-11-27 19:03:16 +00:00
Chris Beall 4297d24c96 changed tabs to spaces for consistent indentation in all of GTSAM 2012-10-02 14:40:07 +00:00
Andrew Melim a2474ef354 Starting to add support for STL containers in wrap 2012-09-18 18:36:42 +00:00
Frank Dellaert aeb43bc8fc Used technique described in http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html to turn off excessive warnings generated by boost lambda headers 2012-09-16 18:07:50 +00:00
Andrew Melim 4752c10e21 Inherited methods show up on doc. ISAM2 for MATLAB now inherets from Bayes Tree 2012-09-08 19:51:23 +00:00
Andrew Melim 6da48bc580 Even more comment improvements for wrap 2012-08-27 15:19:55 +00:00
Richard Roberts cf4a4b4285 wrap turns exceptions into MATLAB errors 2012-08-22 22:40:24 +00:00
Richard Roberts aef5ae269f Added argument and return type checking for global wrapped functions 2012-07-27 19:01:53 +00:00
Richard Roberts bcad0b661c Added workaround for MSVC limitation on number of consecutive loops 2012-07-23 21:27:40 +00:00
Alex Cunningham 656f573c0a Removed from wrap the use of "using namespace xxx" statements - wasn't fully supported before, and now we have real namespace support 2012-07-23 18:24:43 +00:00
Alex Cunningham b7c2177f0b Generating code for global functions now works 2012-07-23 18:24:35 +00:00
Alex Cunningham ece5888cac Removed need in wrap to end namespaces in special non-standard tag - can now just use } 2012-07-23 14:09:44 +00:00
Alex Cunningham e7e564268d global function parsing now tested and working 2012-07-23 14:09:42 +00:00
Alex Cunningham 26fce2d400 Adding support for global functions - parsing works 2012-07-23 14:09:40 +00:00
Richard Roberts 8dbffd4629 Wrap generates Matlab namespaces, so now 'import gtsam.*' allows class names like Values, NonlinearFactor, to be used. Without import, syntax is gtsam.Values, etc. 2012-07-18 15:47:06 +00:00
Richard Roberts b5e10eadb8 Fixed bug where calling 'clear all' only once caused a problem where the wrap module recreated the RTTI table but MATLAB then deletes it, causing an error about the RTTI table being missing later on. 2012-07-17 19:49:36 +00:00
Alex Cunningham 4b772b43cf Simplified include handling in wrap: no more default includes, includes are not associated with a class or a namespace. 2012-07-17 18:30:02 +00:00
Richard Roberts e9f710a1ac More flexible handling of includes in wrap - can now use multiple includes both at the namespace and class levels, and namespace includes do not override the default class-name includes of their enclosed classes. 2012-07-17 15:51:35 +00:00
Alex Cunningham a87d12a7b7 pacified warning 2012-07-14 20:30:30 +00:00
Richard Roberts 4ae96c6642 Check dependencies before class attributes to avoid out-of-range exception 2012-07-13 21:54:57 +00:00
Richard Roberts ce12f3d255 Code cleanup and comments 2012-07-12 22:28:28 +00:00
Richard Roberts 55a153ebc6 Wrapped Cal3DS2, RangeFactor, BearingFactor, and GenericProjectionFactor 2012-07-12 02:11:32 +00:00
Richard Roberts 76e5375dea Added support for multi-argument templates that are then instantiated with typedefs in wrap interface header. 2012-07-12 02:11:29 +00:00
Richard Roberts c4f19a2b96 Can define template classes in wrap interface file with a fixed list of template argument expansions, to quickly generate many classes, e.g. template<T = {gtsam::Point2,gtsam::Point3}> class BetweenFactor ... generates gtsamBetweenFactorPoint2, gtsamBetweenFactorPoint3, etc. 2012-07-11 21:43:16 +00:00
Alex Cunningham 774fcb5ca9 Fixed include sorting bug in wrap 2012-07-11 15:58:01 +00:00
Richard Roberts 1993e6952b Merged from branch 'branches/wrap_mods_inheritance' into branch 'branches/wrap_mods' 2012-07-11 15:45:45 +00:00
Richard Roberts 7c176dd76d Automatic returning of derived-most type in matlab wrapper working but not yet well-tested 2012-07-11 15:44:04 +00:00
Alex Cunningham f3406f3bc9 Small change to wrap to avoid redundant includes in cpp file 2012-07-11 14:54:13 +00:00
Richard Roberts 33a64fc7b5 Removed debug prints 2012-07-10 22:53:35 +00:00
Richard Roberts af11b6c0a0 Create table of RTTI type names at wrap module creation time - will support code to create most derived type from base type in matlab wrapper 2012-07-10 22:51:19 +00:00
Richard Roberts 0c384dc35a Added a check that all wrapped classes involved in a heirarchy are marked virtual 2012-07-10 22:38:21 +00:00
Alex Cunningham 5d58dbd512 Fixed testWrap so that it passes, fixed dependency checking in codegen, fixed warnings 2012-07-10 14:21:58 +00:00
Richard Roberts e915e666b5 Can return abstract base classes from functions in matlab wrapper, i.e. Values::at 2012-07-09 20:19:37 +00:00
Richard Roberts 3c27daae18 wrap_mods_inheritance branch: in progress with inheritance in matlab wrapper 2012-07-08 12:27:39 +00:00
Richard Roberts b460f2a721 Added missing 'typename's 2012-07-05 17:08:40 +00:00
Richard Roberts f774a380ec Implemented method overloading in matlab wrapper, made static functions static in matlab classes 2012-07-05 14:05:00 +00:00
Richard Roberts 8f8975f47f Removed obsolete code for generating matlab wrapper makefiles and build script 2012-07-05 14:04:51 +00:00
Richard Roberts b5937ce35d Modified wrap to generate a single cpp wrapper file containing all wrapped functions, and one .m file per class and static method. 2012-07-05 14:04:36 +00:00
Andrew Melim ead88ae35a Changes to wrap requested by frank. Wrap now allows for multiple includes. Changes to wrap tests 2012-07-02 18:18:11 +00:00
Andrew Melim 02df40bd73 Dependency checking for matlab.h 2012-06-30 01:33:41 +00:00
Andrew Melim 6d776812d3 new wrap! :) 2012-06-26 18:52:27 +00:00
Richard Roberts 90578e2532 Merge remote-tracking branch 'svn/trunk' into windows
Conflicts:
	gtsam.h
	wrap/CMakeLists.txt
2012-06-05 13:11:34 +00:00
Alex Cunningham 9efcf8e17c Added option to include path to mex executable in CMake 2012-06-04 21:01:25 +00:00
Richard Roberts 592a251a05 Fixed path and compile problems with matlab wrapper on windows 2012-05-28 20:48:36 +00:00
Richard Roberts ac150043bd Fixed wrap under windows 2012-05-23 21:23:27 +00:00
Alex Cunningham f8a03ddbca Added better support for "using namespace x" to wrap - only applies to classes *after* it is called 2012-05-04 19:14:58 +00:00