51 Commits

Author SHA1 Message Date
Jason Turner
b185e2e792 Make Type_Info internal data private and provide more rigorous definitions for comparisions of objects 2009-09-08 13:31:14 +00:00
Jason Turner
798908f127 Add loadable module support for ms Visual C++ and fix visual studio specific type identification problems, (while making the C++ more correct) 2009-09-07 17:05:57 +00:00
Jason Turner
7cc6a3cab9 Add support for loadable modules on POSIX systems 2009-09-06 23:33:03 +00:00
Jason Turner
4b40812e26 Add const_var helper function for making const values. 2009-09-06 02:09:19 +00:00
Jason Turner
ef8cd1f591 Add more robust support for handling of const ptr values 2009-09-05 23:46:21 +00:00
Jason Turner
3094ff6e3b Made thread saftey a compilation option for performance and dependencies reasons 2009-09-05 00:16:46 +00:00
Jason Turner
4d42d6ff33 Add shared objects that can be used by all threads at their root scope only 2009-09-03 11:42:23 +00:00
Jason Turner
a427d2c1a9 Correct function pointer casts to more correct static_cast<>() 2009-09-03 00:15:56 +00:00
Jason Turner
efb7a8d453 Create local thread caches of registered function objects to reduce thread contention 2009-09-02 02:28:38 +00:00
Jason Turner
6c4872eae9 Initial check in of multithreaded support for chaiscript 2009-08-31 19:50:41 +00:00
Jason Turner
94e4b671f3 Make sure to invalidate the cache when a new function name is added 2009-08-30 01:06:21 +00:00
Jason Turner
096c8aab50 Provide for caching of objects in the dispatch get get_object side. Also, update chaiscript_eval to not explicitly add a new stack object to each scope as it is created 2009-08-30 00:48:17 +00:00
Jason Turner
89186a86c8 speed up operator calls by about 10% by reducing Proxy_Function copies and such 2009-08-29 19:19:31 +00:00
Jason Turner
c8c1c65e8c Add std::list support 2009-08-29 14:00:07 +00:00
Jason Turner
541e453098 check in of reserved word handling 2009-08-25 00:36:02 +00:00
Jason Turner
0b780593a6 Make for better error messages when a clone fails 2009-08-22 13:55:06 +00:00
Jason Turner
2e7c5f413e Cleanup get_function implementation 2009-08-21 22:51:12 +00:00
Jonathan Turner
7e5b7cbd7a Switch get_function to default to not doing object lookup. Correct method eval to maintain method lambda syntax. Add unit test for method lambda 2009-08-21 20:05:05 +00:00
Jason Turner
a136236179 Fix dispatch for const boost::shared_ptr<> & parameters for functions, add a test to example.cpp and fix some issues with building example.cpp 2009-08-20 21:35:56 +00:00
Jason Turner
00e4de774f Move "fun_helper" into detail namespace 2009-08-09 19:12:01 +00:00
Jason Turner
bc3a17b3b7 Port VC++ fix from last rev back to Linux 2009-08-09 18:42:32 +00:00
Jason Turner
4a57efde25 Correct bug with bootstrapping of Map type on windows. Also, make it easier to specify the type of a function being added at the time it is being added. 2009-08-09 16:49:14 +00:00
Jason Turner
cf94817869 Add missing new files from last checkin 2009-08-08 16:38:32 +00:00
Jason Turner
6775863415 Clean up chaiscript namespace by adding the "detail" namespace for internal functions/classes 2009-08-08 16:38:04 +00:00
Jason Turner
a3d4b6698a Favor filtering of functions during dispatch over exceptions to determine appropriate function to call. Results in approximately 50% reduction in runtime for long running scripts 2009-08-06 04:22:13 +00:00
Jason Turner
0ff107a818 Rename types_match to call_match in Proxy_Function to more closely match the semantics of the call 2009-08-06 01:35:12 +00:00
Jason Turner
ba6b392174 Approximate 20% reduction in runtime on long running scripts, based on profiling data. Reduce number of execution of object cache culling, reduction of copies of the stack and reduction of Boxed_Value copies 2009-08-05 02:43:13 +00:00
Jason Turner
0b789004e9 Make "clone" a chaiscript based operation instead of forcing the user to register a clone method. 2009-07-24 13:17:00 +00:00
Jason Turner
0d3c90a245 Add "type_name" function and port the "new" in prelude to use it instead of clone/clear. 2009-07-24 04:01:28 +00:00
Jonathan Turner
4127a6ed41 Added 'clear'. Added 'push_back' to string. Added char. Added simple reverse 2009-07-23 17:01:07 +00:00
Jason Turner
4e412c0f6a Fix compilation error for G++ 2009-07-23 13:03:57 +00:00
Jason Turner
370121a9ff add example.cpp to build for VC++, fix minor bug in passing of & parameters to functor<>, move bootstrap functions into bootstrap namespace and clean up function names and add "retro" support for reversing of ranges. 2009-07-23 04:35:15 +00:00
Jason Turner
00ac8113c0 Add additional support for boost::shared_ptr as a return type 2009-07-21 02:00:39 +00:00
Jason Turner
daacbaa9e0 Correct for warnings and errors for the VC++ port. 2009-07-19 03:59:58 +00:00
Jason Turner
a5a1e3ee1b Revamped method for bootstrapping of types, using a new Module class that collects everything related to a type or group of types 2009-07-19 03:04:46 +00:00
Jason Turner
82bd46bb1a More usage cleansups 2009-07-18 23:34:08 +00:00
Jason Turner
4d4c26bf73 Major updates to the C++ API. Please see trunk/src/example.cpp to follow along 2009-07-18 18:05:54 +00:00
Jason Turner
9b733b2621 Correct g++ compilation error caused by r308, fix for casting to const boost::shared_ptr<> &. 2009-07-16 23:46:19 +00:00
Jason Turner
727dc7b0d6 Add support for boxed_cast<> to const boost::shared_ptr<Type> &, fixing the problem Jon was having 2009-07-16 21:30:01 +00:00
Jason Turner
8dbb43f45f Clean up last bug fix with full support for const & (and presumably some support for const *) contained types. 2009-07-15 23:36:10 +00:00
Jason Turner
ec2f81c674 Fix bug that jon discovered that affects attempting to return a reference to an object that shares a memory location with a containing object but has a different type. 2009-07-15 23:12:49 +00:00
Jonathan Turner
5ec3901396 Some minor source header touchups 2009-07-13 03:13:04 +00:00
Jason Turner
45fbe2028a Correct registration of array[]. (Rollback to previous version) to fix broken unit tests. 2009-07-13 03:04:47 +00:00
Jason Turner
7f71c77e56 Add documented example usage for C++ api. To be used for website documentation purposes as well 2009-07-12 17:05:24 +00:00
Jason Turner
a70dc12b2a Documentation updates. 2009-07-12 03:07:45 +00:00
Jason Turner
c9e67f2063 use relative include paths to make moving files around/portability easier potentially. 2009-07-11 13:00:43 +00:00
Jonathan Turner
15979ecdb2 A couple touchups. Fixed package builder 2009-07-10 15:37:10 +00:00
Jonathan Turner
008329f36d Move dispatchkit unittest out of include 2009-07-10 15:26:35 +00:00
Jonathan Turner
5c79c7cec0 Move dispatchkit test out of include 2009-07-10 15:25:14 +00:00
Jonathan Turner
ac2b59796f Moving internal includes to point to the new dir structure 2009-07-10 15:24:24 +00:00