Jason Turner
|
a463ee5ff2
|
Clean up key used in the thread global object cache, to make sure proper type comparisons are done in the corner cases found in the main boxed_cast<> code a while back
|
2010-08-02 17:51:30 +00:00 |
|
Jason Turner
|
cd015a8437
|
Thread safety for dynamic conversions / registration of new inheritance relationship
|
2010-08-02 17:01:38 +00:00 |
|
Jason Turner
|
8be4aa08db
|
Reduce runtime calls into the new dynamic cast system by first making sure the type is polymorphic.
Cleanup some std::cout calls
|
2010-08-02 02:30:41 +00:00 |
|
Jason Turner
|
edee892cad
|
Initial check in of support for upcasting during function invocation. No examples or tests are checked in yet. Some reorg was necessary to get things compiling in the right order. Is not currently thread safe and probably does not work properly across module boundaries
|
2010-08-02 01:38:25 +00:00 |
|
Jason Turner
|
b971ee44ad
|
Make warnings stricter on windows and clean up all legit warnings in our code.
|
2010-07-30 18:06:17 +00:00 |
|
Jason Turner
|
b9ae4cd528
|
Make warnings more strict and fix one warning caught by gcc
|
2010-07-30 16:25:58 +00:00 |
|
Jason Turner
|
f5f99961c1
|
Make sure that stack is properly initialized on a per-thread basis. Fixes #95wq
|
2010-07-23 20:00:17 +00:00 |
|
Jason Turner
|
f7086c10ec
|
Roll back changes from last 2 checkins - user defined type conversions are going to be too slow and too hard to keep track of. Need more portable / generic approach to solving the actual problem - the ability to deal with inhertance properly
|
2010-07-23 14:55:32 +00:00 |
|
Jason Turner
|
3d19138c95
|
Minor reorg of type conversion code to support move to using it in dispatch
|
2010-07-18 01:52:07 +00:00 |
|
Jason Turner
|
35ac7342b6
|
Stub in of support for type conversions. Not yet fully implemented.
|
2010-07-17 21:49:27 +00:00 |
|
Jason Turner
|
799b3ef388
|
Update copyright for 2010
|
2010-05-15 22:48:54 +00:00 |
|
Jason Turner
|
7efb65a5c2
|
Move to using cmake for VisualStudio
|
2010-03-28 13:31:19 +00:00 |
|
Jason Turner
|
567f911093
|
Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation
|
2010-03-14 05:19:24 +00:00 |
|
Jason Turner
|
5c98a5d6e7
|
Add sync_cache to set_state code to fix logic flaw in resetting of state and memory leak. #92
|
2010-03-09 02:09:05 +00:00 |
|
Jason Turner
|
968da650b2
|
Clean up leaking #define's for iterations (n, m) that could mess up subsequently included files such as boost/signals2.hpp
|
2010-01-03 15:48:17 +00:00 |
|
Jason Turner
|
fb5ba0be26
|
Remove std::swap implementation that was not supported for multiple file compilation.
|
2010-01-03 15:03:26 +00:00 |
|
Jason Turner
|
70047424f9
|
Get compiling with Visual Studio 10 beta 2. Had to work around issues with conflicts between boost::function and VisualStudio's std::tr1::mem_fn (http://social.msdn.microsoft.com/Forums/en/vcprerelease/thread/e04d93ed-d686-4ef6-9939-26e34c0955eb). Also had to work around non-standard overloaded std member functions in std::map (http://msdn.microsoft.com/en-us/library/fe72hft9(VS.100).aspx)
Strongly consider rolling this back when the issues are resolved between microsoft and boost. Also, needs to be tested across all platforms.
|
2009-12-28 17:16:03 +00:00 |
|
Jason Turner
|
2805af1ed2
|
move from std::numeric_limits::min() to boost::integer_traits::const_min - avoids runtime overhead of the function call.
|
2009-12-11 15:35:59 +00:00 |
|
Jason Turner
|
0c0df2c982
|
VS 2008 related corrections.
|
2009-12-08 15:57:31 +00:00 |
|
Jason Turner
|
4457df9ff5
|
Fix NO_THREADS related issues
|
2009-12-06 05:12:02 +00:00 |
|
Jason Turner
|
e601de9d18
|
Reduce use of Param_List_Builder by providing call_function implementations for 0,1,2 arity
|
2009-12-06 01:31:58 +00:00 |
|
Jason Turner
|
37b2ac2056
|
Implement proper swap for Boxed_Value
|
2009-12-05 19:30:09 +00:00 |
|
Jason Turner
|
636c55493c
|
Smartly size the integer returned from a Boxed_POD_Value operation to return an "int" if the resulting value is small enough
|
2009-12-01 03:52:57 +00:00 |
|
Jason Turner
|
e2a2c14c0d
|
Eliminate use of size_t in stl related wrappings
|
2009-12-01 02:56:02 +00:00 |
|
Jason Turner
|
fbf8f53e04
|
Add Type_Info type and add *_type objects at time of type registration.
|
2009-11-21 22:47:44 +00:00 |
|
Jason Turner
|
a0c6366479
|
Added introspecition/classification of types
|
2009-11-21 06:39:35 +00:00 |
|
Jason Turner
|
1c6b2725b3
|
Provide some hints for dispatches with lhs (first param) that is const
|
2009-11-21 06:02:17 +00:00 |
|
Jason Turner
|
d3e4af433e
|
Add support for saving/restoring of chaiscript engine state.
|
2009-11-18 04:43:08 +00:00 |
|
Jason Turner
|
9f65303370
|
Handle case of const & return values (should probably be investigated a bit more)
|
2009-11-18 04:42:43 +00:00 |
|
Jason Turner
|
391eaa9e11
|
VC++ 2008 warnings cleanups
|
2009-11-15 03:26:47 +00:00 |
|
Jason Turner
|
ed11f48847
|
More robust handling of potential class object member types
|
2009-11-15 00:37:01 +00:00 |
|
Jason Turner
|
9dddb49850
|
Added support for const attribute access
|
2009-11-14 19:02:00 +00:00 |
|
Jason Turner
|
cca477dae6
|
Only share const globals between threads. Require all globals to be const.
|
2009-11-11 05:47:54 +00:00 |
|
Jason Turner
|
f4a680a582
|
Add missing operators.hpp file
|
2009-11-10 13:27:44 +00:00 |
|
Jason Turner
|
e6c6223c5b
|
Operator handling rewrite and fleshing out of operators to include all standard C++ operators
|
2009-11-10 05:55:58 +00:00 |
|
Jason Turner
|
cbc61d898c
|
Add "is_null" for boxed_values to see if they contain a null shared_ptr value
|
2009-11-08 16:30:12 +00:00 |
|
Jason Turner
|
3a37ceedb7
|
Rollback to r437 for bind_first implementation. The "cleaned up" version was a no-go in some cases
|
2009-11-08 16:28:35 +00:00 |
|
Jason Turner
|
fe5a935abd
|
add is_undef functionality to boxed_value
|
2009-11-08 15:16:15 +00:00 |
|
Jason Turner
|
4e5c972e66
|
Simplify implementation of bind_first and add some detail namespacing
|
2009-11-08 14:46:44 +00:00 |
|
Jason Turner
|
4c015d7e44
|
Simplification of bootstrap_stl code resulting in slightly better engine start up performance and compile time performance
|
2009-10-21 01:48:21 +00:00 |
|
Jason Turner
|
1122f2c818
|
Clean up reference counting implementation while improving compile time and compromising runtime slightly
|
2009-10-20 00:34:15 +00:00 |
|
Jason Turner
|
a18c701866
|
Fix type-shifting of bind_first for free function pointer types
|
2009-10-16 15:49:46 +00:00 |
|
Jason Turner
|
b1d12fdc91
|
Further updates to the new bound function support, plus general cleanup of how it is used
|
2009-10-15 15:27:16 +00:00 |
|
Jason Turner
|
24e717d532
|
Fix "bind_first" for non member functions
|
2009-10-14 22:42:45 +00:00 |
|
Jason Turner
|
1568fedebd
|
Reduce # of required versions for bound_fun and enhance it to work with non-member functions
|
2009-10-14 17:19:42 +00:00 |
|
Jason Turner
|
480761c1f7
|
Add bound_fun helper and put it to use cleaning up the engine bootstrapping
|
2009-10-14 02:34:09 +00:00 |
|
Jonathan Turner
|
12e909d9aa
|
Add bit shifting operators
|
2009-10-13 03:35:01 +00:00 |
|
Jason Turner
|
b1e892487f
|
Enhance "is_type" to be more accurate and to work with Dynamic_Object types
|
2009-10-13 03:31:56 +00:00 |
|
Jason Turner
|
edd274ccce
|
Fix some more obscure warnings
|
2009-10-06 02:26:47 +00:00 |
|
Jason Turner
|
bad5384c96
|
Fix multi-file compilation issues
|
2009-09-22 20:59:10 +00:00 |
|
Jason Turner
|
9762e15460
|
Fix some range/retro issues and update the visual studio files
|
2009-09-22 01:23:02 +00:00 |
|
Jason Turner
|
50eace16da
|
Allow "Module" to contain chaiscript snippets to be executed when a module is initialized. Update dynamic_object to use the new feature to clean up some of the _prelude.hpp
|
2009-09-21 03:07:01 +00:00 |
|
Jason Turner
|
160f64e9c2
|
Enabled short hand for adding new methods to existing C++ types
|
2009-09-20 21:32:39 +00:00 |
|
Jason Turner
|
991753a492
|
Add support for cloning of dynamic objects
|
2009-09-19 23:12:56 +00:00 |
|
Jason Turner
|
7cdd772f2b
|
Add const correctness for proxy functions. Add unit tests for function variable assignment scenarios
|
2009-09-19 21:13:12 +00:00 |
|
Jason Turner
|
6a47846b84
|
Add runtime_error support, for throwing a normal std::exception. Also, move bootstrap for Dynamic_Object into its proper place.
|
2009-09-19 12:15:17 +00:00 |
|
Jason Turner
|
b0041217b0
|
initial checkin of dynamic object support with example usage in example.cpp
|
2009-09-19 02:36:27 +00:00 |
|
Jonathan Turner
|
b17c6b9748
|
Add support for std::exception and what()
|
2009-09-18 22:26:07 +00:00 |
|
Jonathan Turner
|
204d379176
|
Fix default cmake build to use readline and gdb. Add simple try/catch/throw exceptions
|
2009-09-18 22:04:07 +00:00 |
|
Jason Turner
|
f369afed77
|
Decrease compile times by 30% and runtimes by 10% by eliminating use of boost::bind during function dispatch
|
2009-09-10 03:44:42 +00:00 |
|
Jason Turner
|
e2cdac0406
|
Decrease compilation time by removing "Retro" from c++ compiled and making a chaiscript version instead
|
2009-09-09 03:11:47 +00:00 |
|
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 |
|
Jonathan Turner
|
a40c71967c
|
Move dispatch kit into new include tree
|
2009-07-10 15:06:47 +00:00 |
|