Jason Turner
5e0a882b18
Bootstrap simplifications
2016-04-13 21:08:25 -06:00
Jason Turner
9603d3910a
Get multifile compiling
2016-04-13 15:26:36 -06:00
Jason Turner
6f0d02f158
Massive simplification of boxed_cast. More planned
2016-04-13 14:09:08 -06:00
Jason Turner
2a1632f213
Merge branch 'develop' into cleanups_and_reworkds
2016-04-11 17:48:31 -06:00
Bjorn Fahller
2fe794fcae
Do not return Module& from internal funcs on Module&
...
A slight improvement in built binary size is achieved by not having
to generate code for the return.
2016-04-11 18:16:30 +02:00
Jason Turner
b594043eef
Clean up redundant code
2016-04-11 09:36:23 -06:00
Jason Turner
4bf619c80f
some initialization and destructor cleanups
2016-04-09 22:10:06 -06:00
Jason Turner
08a68f310a
Move to strongly typed algebraic enum
2016-04-09 21:50:23 -06:00
Jason Turner
1e584048ce
Remove std::function from bind_first
2016-04-09 21:00:07 -06:00
Bjorn Fahller
7865f8e7f2
Keep ModulePtr kompatible functions
...
Since use of (one of) the functions in bootstrap_stl.hpp is in a
sample, chances are there are people using them in real world
application code. Thus the backwards compatible versions.
2016-04-09 21:09:45 +02:00
Bjorn Fahller
5ff97979fd
Pass Module by reference instead of shared ptr
...
This gives a small but noticeable compile time improvement as
well as a measurable, albeit not great, reduction in size of the
stdlib.
2016-04-09 15:42:55 +02:00
Jason Turner
5a947b5035
Prefer make_unique over make_shared
2016-04-04 15:36:38 -06:00
Jason Turner
dd6b38cafb
Merge branch 'release-5.x' into develop
2016-03-30 13:01:46 -06:00
Jason Turner
c07c2a9cc2
Make sure type_info works with shared_ptr &
2016-03-28 15:57:26 -06:00
Jason Turner
46c45e8fc7
Update boxed_cast_tests to account for new features
2016-03-27 20:50:15 -06:00
Jason Turner
91a3ae1f14
Add ability to take non-const & shared_ptr params
2016-03-27 20:02:27 -06:00
Jason Turner
82a69ca043
Merge branch 'develop' into typed_function_ordering
2016-03-15 12:46:47 -06:00
Jason Turner
b424d1f9cb
delimit chaiscript text blocks
2016-03-13 15:33:23 -06:00
Jason Turner
7dcd6b8447
Implement member pointer value support
...
closes #245
2016-03-12 22:04:01 -07:00
Jason Turner
d5ae30191d
Add =, ==, and != for Dynamic_Objects
...
closes #251
2016-03-12 12:44:05 -07:00
Jason Turner
16ffbca6d6
Simplify type_info comparisons
2016-03-12 08:36:53 -07:00
Jason Turner
afa3f2249c
Mark i as unused for the sake of MSVC 0th case
2016-03-12 08:16:25 -07:00
Jason Turner
c5f4a4dfd8
various c++11/c++14 cleanups
2016-03-12 07:05:29 -07:00
Jason Turner
34a2001a7b
Reduce lookups into stack indexes
2016-03-12 07:05:12 -07:00
Jason Turner
16c4a11990
More C++11/C++14 updates
2016-03-11 18:17:04 -07:00
Jason Turner
6f01568a9a
Fix function_member call from last commit
2016-03-11 15:28:33 -07:00
Jason Turner
dfb2394b0b
Merge branch 'update_travis_toolchain' into typed_function_ordering
2016-03-11 15:00:28 -07:00
Jason Turner
a363ef5e0e
C++11/14 updates
2016-03-11 14:45:40 -07:00
Jason Turner
a3365a9c4a
Enable use of shared_mutex now on C++14
2016-03-11 13:45:01 -07:00
Jason Turner
9a5ef38d4a
Simplify exception_specification types
...
* move to variadic
* delete lots of implementation details
2016-03-11 10:57:20 -07:00
Jason Turner
5247de7d1b
use a global void value for returning unknown values
2016-03-11 10:21:39 -07:00
Jason Turner
cd1b3f8887
Virtual / override / public cleanups
2016-03-11 09:24:00 -07:00
Jason Turner
11ee71ba27
Fix index type
2016-03-10 14:45:07 -07:00
Jason Turner
978f80751f
Update proxy_functions_detail to c++14
2016-03-10 12:33:07 -07:00
Jason Turner
85163e08cc
Add missing <array> header include
2016-03-07 16:19:40 -07:00
Jason Turner
947d7c2591
Merge branch 'develop' into update_travis_toolchain
...
Conflicts:
.decent_ci-Windows.yaml
CMakeLists.txt
include/chaiscript/chaiscript_defines.hpp
2016-03-05 21:12:14 -07:00
Jason Turner
539ee3c84f
Ignore unknown pragmas in older apple clang
2016-03-05 10:44:40 -07:00
Jason Turner
ad7e2138d9
Various Windows fixes
2016-03-04 17:39:32 -07:00
Jason Turner
c07f413694
Merge branch 'develop' into typed_function_ordering
2016-03-04 13:33:29 -07:00
Jason Turner
b5b6e5a5a3
Drop ifdef'd code for gcc4.6 and msvc12
2016-03-04 11:15:39 -07:00
Jason Turner
8feff5bc76
Clean up some more warnings
2016-03-04 10:03:39 -07:00
Jason Turner
d4f02b5e67
Address sign promotion warnings, add todo test
2016-03-04 07:58:21 -07:00
Jason Turner
645377e191
Remove memory_order_relaxed usage
2016-03-02 20:36:05 -07:00
Jason Turner
5a03c88ee3
Add -Wconvert and address the warnings from it
...
closes #254
2016-03-02 17:40:15 -07:00
Jason Turner
172ab7b8e4
Merge branch 'develop' into typed_function_ordering
2016-02-18 08:57:55 -07:00
Jason Turner
7f8a6f24f9
Fix a few warnings from old gcc
2016-02-16 11:13:14 -07:00
Jason Turner
e024b99b36
Fixes for type_conversion handling
2016-02-16 08:29:01 -07:00
Jason Turner
ed65ad72d0
Update copyrights
2016-02-14 20:04:17 -07:00
Jason Turner
bc0eaa5d15
Fix some issues found by cppcheck
2016-02-14 20:01:49 -07:00
Jason Turner
bde2a45384
Add map conversions
...
closes #57
2016-01-29 20:41:12 -07:00
Jason Turner
7222390c96
Fix build
2016-01-29 16:12:10 -07:00
Jason Turner
b33f0a08bc
Remove initializer_list conversion due to the issues mentioned here:
...
http://stackoverflow.com/questions/18895583/convert-a-vectort-to-initializer-listt
2016-01-29 16:04:06 -07:00
Jason Turner
140a90f72a
Fix g++4.6 build issues
2016-01-29 15:35:40 -07:00
Jason Turner
f697384028
Merge pull request #243 from vrennert/feature_initializer_list_conversion
...
Added initializer_list<T> conversion as possible function call argument or return type.
2016-01-29 15:20:38 -07:00
Jason Turner
dfd04c8291
Clean up formatting from last merge
...
Closes #238
2016-01-29 15:16:35 -07:00
Jason Turner
209d6ed2e4
Merge remote-tracking branch 'ktm/set-global' into develop
2016-01-29 15:14:32 -07:00
Viktor Rennert
af1eba1b0e
Added type fix for gcc/clang and tiny formating fixes.
2016-01-26 18:36:45 +01:00
Jason Turner
f82f6c2068
Some fixes found by resharper c++
2016-01-25 16:41:11 -07:00
Viktor Rennert
fcca453223
Added initializer_list<T> conversion as possible function call argument or return type.
2016-01-26 00:06:57 +01:00
Jason Turner
5cb6f6a1a2
Merge branch 'develop' into typed_function_ordering
2016-01-20 18:28:28 -07:00
Jason Turner
c067575ac4
Merge branch 'develop' into add_performance_tests
2016-01-20 18:24:50 -07:00
ktm
3587c3e165
fixed comment on set_global
2016-01-18 13:24:59 -05:00
ktm
43def57852
add set_global, update unit test
2016-01-17 00:01:51 -05:00
Jason Turner
561b47e463
More explicit int/bool conversions
2016-01-16 09:27:16 -07:00
Jason Turner
9885534b5b
Merge branch 'develop' into add_performance_tests
2016-01-16 09:02:52 -07:00
Jason Turner
4e69e5a3d2
Merge branch 'Fix_Crash_From_CppCon' of github.com:ChaiScript/ChaiScript into Fix_Crash_From_CppCon
2015-11-25 07:51:12 -07:00
Jason Turner
49c89a3b88
un-break ** cast operation
2015-11-25 09:49:26 -05:00
Jason Turner
681b7db727
Merge branch 'Fix_Crash_From_CppCon' of github.com:ChaiScript/ChaiScript into Fix_Crash_From_CppCon
2015-11-20 06:49:35 -07:00
Jason Turner
4826bddb5b
Add overloads for cosnt *& casts
2015-11-20 07:46:52 -06:00
Jason Turner
49436e5740
Merge branch 'develop' into Fix_Crash_From_CppCon
2015-11-20 05:53:44 -07:00
Jason Turner
6fe7f5ce98
Don't return reference to copied values
2015-11-03 16:02:25 -07:00
Jason Turner
95256417ac
Merge branch 'add_performance_tests' of github.com:ChaiScript/ChaiScript into typed_function_ordering
2015-10-25 15:00:08 -06:00
Jason Turner
8bd7ccfa9f
Only run performance tests on linux
2015-10-23 16:38:04 -06:00
Jason Turner
40b1549b3b
Fix use of broken bitset implementation in g++
2015-10-21 09:30:22 -06:00
Jason Turner
8496a86043
Use a bitset instead of bools for type_info flags
2015-10-20 18:14:42 -06:00
Jason Turner
09748275db
Fix warnings from clang
2015-10-17 09:22:13 -06:00
Jason Turner
7ba7b81a5c
Implement option explicit for dynamic objects.
...
Closes #218
2015-10-16 21:41:54 -06:00
Jason Turner
882cbf2dfb
Add option explicit code, but don't throw yet
...
Work towards #218
2015-10-16 18:47:26 -06:00
Jason Turner
985b62705f
Add support for != bools
...
closes #217
2015-10-15 22:06:06 -06:00
Jason Turner
ad69bf7d38
Get vector push_back_ref working as expected
2015-10-15 21:42:25 -06:00
Jason Turner
36765df3c0
Fix vector element assignment issues
2015-10-15 21:20:12 -06:00
Jason Turner
beedf13d01
Make binary literals sized like other integer types
2015-10-03 16:38:41 -06:00
Jason Turner
5a651e2b8a
Fix numeric overload resolution
...
Closes #209
2015-10-01 09:56:53 -06:00
Jason Turner
3a8cb581cc
Merge branch 'add_json_support' into develop
2015-09-30 14:39:21 -06:00
Jason Turner
ba30d4f483
Add support for == for Map
2015-09-30 08:57:36 -06:00
Jason Turner
b4ffcd594d
Fix long long type usage
...
Closes #208
2015-09-30 06:49:03 -06:00
Jason Turner
681f18ee62
backport JSON for G++4.6
2015-09-21 12:27:33 -06:00
Jason Turner
85ac1052dd
Initial support for export to JSON
2015-09-20 16:19:11 -06:00
Jason Turner
f9f1d5807a
Basic support for parsing of JSON objects
2015-09-20 15:35:53 -06:00
Jason Turner
14227475b2
Merge remote-tracking branch 'origin/cpp_fun_call_performance' into develop
2015-09-18 13:41:44 -06:00
Jason Turner
e1a80fb5ce
A couple of MSVC fixes
2015-09-16 10:28:05 -06:00
Jason Turner
aabe53c934
Make var work with move-only types
2015-09-12 22:21:05 -06:00
Jason Turner
f3dbb7ed87
Control how fast global vectors grow
2015-08-31 11:09:03 -06:00
Jason Turner
52e11bf001
Fun location caching phase2
...
This shows ~25% performance over develop
2015-08-31 11:00:56 -06:00
Jason Turner
f06e5cdcd6
Cache function lookups
2015-08-31 09:44:47 -06:00
Jason Turner
15eb78bd8f
Move to indexed function storage
2015-08-31 08:41:47 -06:00
Jason Turner
0a143d1cd3
Make push_* consistant with inplace vector
2015-08-27 15:30:02 -06:00
Jason Turner
2d2251c1da
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into typed_function_ordering
2015-08-26 18:58:34 -06:00
Jason Turner
0adacc0b5e
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into typed_function_ordering
2015-08-26 18:47:43 -06:00
Jason Turner
c9625b09b0
Fix magic 'this' values
2015-08-26 18:41:46 -06:00
Jason Turner
28f5a74e98
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into develop
2015-08-15 19:28:45 -06:00
Jason Turner
781d62d3a5
Make result of dynamic constructor marked as return value
2015-08-15 07:29:07 -06:00
Jason Turner
bd9af5eff4
Order typed functions over untyped
...
specifically the chaiscript defined ones
2015-08-14 21:58:54 -06:00
Jason Turner
5aa0bfcea4
Add some convenience functions for parsing
2015-08-11 19:20:18 -06:00
Jason Turner
04e2256c92
Fix error caused by last fix
2015-08-02 18:21:48 -06:00
Jason Turner
38ba00e55c
Get MSVC2015 quieted down on warnings
...
re @arBmind
2015-08-02 16:52:43 -06:00
Jason Turner
8931346230
Eradicate internal exceptions during object clone
2015-08-01 13:47:25 -06:00
Jason Turner
31b3195c17
Don't allow conversion to std::function on arity mismatch
2015-07-30 20:23:34 -06:00
Jason Turner
419c2d72a8
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 18:12:09 -06:00
Jason Turner
6a7a934e3e
Merge branch 'develop' of github.com:ChaiScript/ChaiScript into multithreaded_performance
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
2015-07-16 13:16:04 -06:00
Jason Turner
1f72afc8f5
Add crashes and fixes found during fuzzy testing
...
* Let unhandled exceptions propogate to user
* Report eval_error when break statement is not in loop
* Fix handling of 0 length scripts closes #193
* Don't crash on arity mismatch - Specifically affects the case where no overloads exist for a given function
* Fix error printing for `bind` calls
* Handle unexpected continue statement
* Check arity during bind
* Don't allow arith conversion on variadic function
* Correct `bind` parameter match count
* Add in expected Boxed_Value exception cases
* Check access to AST, don't allow `;` in func def
* Don't attempt arithmetic unary & call
* Don't crash on 0 param call to `bind`
* Catch errors during member function dispatch
* Properly handle type of const bool &
2015-07-16 12:51:50 -06:00
Jason Turner
2fbc377119
More strongly typed handling of push_back wrapper
...
Closes #192
2015-07-11 18:36:07 -06:00
Jason Turner
1ea608babe
Better detect arithmetic types #192
2015-07-11 18:32:47 -06:00
Jason Turner
37120f486f
Handle user defined conversions of return types from functor
2015-07-04 08:43:52 -06:00
Jason Turner
484ff7a98b
Add utility for converting std::vector types
2015-07-03 14:39:21 -06:00
Jason Turner
72aedca39c
Fix wrapping of functions with move only params
2015-06-29 20:43:12 -06:00
Jason Turner
748c18f465
Save stack & and prevent lookups
2015-06-28 15:17:58 -06:00
Jason Turner
b9875e2844
Miscellaneous performance tweaks
2015-06-28 13:20:20 -06:00
Jason Turner
902f48cd4c
Revert "Use placement new to avoid unique_ptr allocations"
...
This reverts commit 83281bff52a4ceb7a2a479a42efd5795c54924ac.
2015-06-24 11:25:56 -06:00
Jason Turner
e339055e0b
Address some warnings for clang/gcc
2015-06-23 16:07:57 -06:00
Jason Turner
4890b47460
Reduce unary operator overhead
2015-06-23 14:25:34 -06:00
Jason Turner
b53432cf28
Remove remaining uses of std::function
2015-06-23 13:02:43 -06:00
Jason Turner
a112d97141
Simplify a couple of random things
2015-06-23 11:48:01 -06:00
Jason Turner
83281bff52
Use placement new to avoid unique_ptr allocations
2015-06-23 11:11:56 -06:00
Jason Turner
05bec3b4a8
Avoid attempting convert_down when not possible
...
@arBmind this should be significant for you
2015-06-21 21:09:26 -06:00
Jason Turner
cd2fb1ec66
Normalize integer types in the loc saving
2015-06-20 11:45:34 -06:00
Jason Turner
ec33cf2709
Make local location saving atomic
2015-06-20 10:52:05 -06:00
Jason Turner
c7689f18ec
Save local variable location after first pass
2015-06-20 10:28:27 -06:00
Jason Turner
3eb7700912
Add missing <iterator>
2015-06-20 07:45:00 -06:00
Jason Turner
c4633436ba
Avoid placeholder lookup cost
2015-06-20 07:13:54 -06:00
Jason Turner
2870874d91
Fix clang build errors
2015-06-20 06:53:23 -06:00
Jason Turner
a147278a7e
Fix debug builds
2015-06-19 20:59:40 -06:00
Jason Turner
a2577b983c
Don't constantly re-create the function objects
2015-06-19 20:31:39 -06:00
Jason Turner
646563eb3f
A couple of cleanups and fixes
2015-06-19 20:10:45 -06:00
Jason Turner
f9860216c9
Move to std::vector for local stack objects
2015-06-19 16:49:16 -06:00
Jason Turner
b7eb469ac1
Move to some standard algorithms
2015-06-19 14:57:54 -06:00
Jason Turner
bcf573cf26
Don't loop over already filtered functions
2015-06-19 14:23:08 -06:00
Jason Turner
1bf4170d8f
Simplify dispatch
2015-06-19 11:47:16 -06:00
Jason Turner
6d632f6aa4
Normalize methods for numeric->string conversions
2015-06-19 06:18:49 -06:00
Jason Turner
835b5a90af
Reduce to_string overloads down to what is necessary
2015-06-18 21:47:05 -06:00
Jason Turner
2442e9ae20
Register all character types
2015-06-18 13:01:54 -06:00
Jason Turner
0dcac05f2f
Add numeric support for wide characters
2015-06-18 11:57:58 -06:00
Jason Turner
3d36ea6199
Add back CONSTEXPR for Type_Info
2015-06-16 17:01:01 -06:00
Jason Turner
68fa049d6c
Fix g++4.6 build
2015-06-10 19:26:21 -06:00
Jason Turner
f9e0193353
Add map .at method from c++11
...
closes #184
2015-06-10 18:41:50 -06:00
Jason Turner
ba492308f4
Move from multimap to sorted vector in dispatch
2015-06-08 15:19:32 -06:00
Jason Turner
d4e22c2c2c
Merge remote-tracking branch 'origin/remove_std_function' into develop
...
Conflicts:
include/chaiscript/dispatchkit/boxed_number.hpp
2015-06-08 14:34:02 -06:00
Jason Turner
b95526951f
Address warnings on VS
...
We have to ignore many of these warnings due to the nature of Boxed_Number supporting any operation.
2015-06-08 13:18:52 -06:00
Jason Turner
e4be97eb79
Revert "Remove redundant Boxed_Number type operations"
...
This reverts commit 59eecab0e80c9754e7545b152187934dce82d87d.
2015-06-04 11:04:21 -06:00
Jason Turner
59eecab0e8
Remove redundant Boxed_Number type operations
2015-06-04 08:28:38 -06:00