Jason Turner
b53432cf28
Remove remaining uses of std::function
2015-06-23 13:02:43 -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
f9e0193353
Add map .at method from c++11
...
closes #184
2015-06-10 18:41:50 -06:00
Jason Turner
5fa44d5eef
Automatically deduce types of lambda for fun()
2015-05-19 13:47:34 -06:00
Jason Turner
986699a3fe
Merge branch 'develop' into smaller_make_shared
...
And also apply cleanups suggested from resharper
Conflicts:
include/chaiscript/language/chaiscript_parser.hpp
2015-04-27 11:55:12 -06:00
Jason Turner
8889324b2d
Code simplifications and spelling fixes found by clion
2015-04-27 08:09:31 -06:00
Jason Turner
f3943f215f
Merge remote-tracking branch 'origin/develop' into method_missing
2015-04-22 07:29:46 -06:00
Jason Turner
0f4bd2b889
Merge pull request #172 from ChaiScript/libcxx_ubuntu_14_04
...
Libcxx ubuntu 14 04
2015-04-22 07:26:10 -06:00
Jason Turner
90102cebd7
Full dynamic object system built on method_missing working
2015-04-21 22:36:48 -06:00
Jason Turner
059c7bcca1
Merge branch 'fix_attr_function_calls' into develop
...
Conflicts:
src/test_module.cpp
2015-04-21 12:45:59 -06:00
Jason Turner
0ed9602ba9
Get libc++ on ubuntu 14.04 working
...
The std::is_member_function_pointer<> template is broken on this version
of the libc++ standard library for const member functions.
To get ChaiScript to work with this, we had to work around the use of
automatically generated std::function wrappers in many cases. This
actually cleaned up the code in a few places and muddied it up in one.
2015-04-21 12:01:29 -06:00
Jason Turner
71245aa703
Add array type support #167
2015-04-17 20:02:09 -06:00
Jason Turner
d2ed8fdcf1
Get class members that are functions working
...
Automatic conversion of return values into Proxy_Function objects
Issue: #155
2015-04-17 12:18:47 -06:00
Jason Turner
962bdf4b3c
Reduce exceptions on startup to minimum
...
This still has some exceptions thrown during the loading of modules
since I have no way of knowing where the operating system
`dlopen` and `LoadLibrary` functions will search for me to pre-check
it.
Closes #158
2015-04-06 13:17:41 -06:00
Jason Turner
722e9ed3d1
Various code cleanups
2015-01-31 10:10:35 -07:00
Jason Turner
9b19aa3b6e
Get ready for 5.6.0 release
...
- Update copyrights to 2015
- Set version to 5.6.0
- Update release notes
2015-01-17 07:05:10 -07:00
Jason Turner
576816e3b1
Add unit test for divide by zero protection
2015-01-09 20:17:20 -07:00
Jason Turner
25b15a3449
Only apply divide by zero protection to integers
...
Also allow arithmetic error to bubble up to the caller.
2015-01-09 20:06:04 -07:00
Jason Turner
283152a880
Speed up print functions
2014-11-14 09:45:49 -07:00
Jason Turner
cf49b1b30c
Make def more efficient, fix to_string(string)
2014-11-13 12:28:52 -07:00
Jason Turner
63a083b47b
Remove uses of std::endl, which imply a flush
2014-11-13 10:13:51 -07:00
Jason Turner
7b42d5307a
Add ability to register a user defined type conversion
...
Currently this adds a fair bit of overhead. It will need to be evaluated
further before it's merged.
2014-10-28 14:52:24 -06:00
Jason Turner
86e26966c1
More code cleanups
2014-10-28 10:53:29 -06:00
Jason Turner
81dc4949d2
1/4 through modernization of chaiscript_eval.hpp
2014-10-04 15:34:32 -06:00
Jason Turner
8c31255012
Windows and GCC 4.6 error cleanups
2014-09-20 07:21:30 -06:00
Jason Turner
5861c45fc1
C++11 related cleanup and improvments
2014-09-15 21:16:44 -06:00
Jason Turner
6c2ccf3869
Various cleanups prefering lambda to bind
2014-09-14 21:53:11 -06:00
Jason Turner
243f4001d1
Code cleanups
2014-09-12 15:16:24 -06:00
Jason Turner
6bea42c1c0
Speed up to_string performance by relying on C++ versions
...
Addresses #134 , fixing issues introduced by #132
2014-08-31 16:03:42 -06:00
Jason Turner
a71903f185
Add strong reference to range objects #132
2014-08-30 13:36:36 -06:00
Jason Turner
a6e3fd5b42
Make reflection API part of stdlib
...
removes the reflection module completely. Reflection and the
ability to catch eval errors is too useful.
2014-08-27 12:05:03 -06:00
Jason Turner
6a3f19d575
Add copy constructor for Type_Info
2014-08-26 09:28:51 -06:00
Jason Turner
c0bf6ee99d
Apply corrections from the "include what you use" tool
...
Generally cleanups of the includes. Making sure each file
can properly stand on its own and forward declares when possible.
2014-05-10 18:41:11 -06:00
Jason Turner
926e962fc0
Merge remote-tracking branch 'origin/release-4.x'
...
Conflicts:
.travis.yml
CMakeLists.txt
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/language/chaiscript_common.hpp
2014-03-29 07:30:14 -06:00
Jason Turner
65b0846e41
Address some of the issues found by cppcheck
2014-03-26 16:59:41 -06:00
Jason Turner
9cf5064a3b
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
src/reflection.cpp
2014-02-22 16:41:28 -07:00
Jason Turner
af44da916a
Fix warnings and errors on VisualStudio 2013
...
Interestingly, VS2013 with Boost 1.55 exhibited the issues complained
about in issue #92 , so I was able to provide an appropriate fix. It would
appear to be bugs in both compilers, which seems very odd.
2014-02-22 16:09:34 -07:00
Jason Turner
52bb08f4d5
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_prelude.hpp
2014-02-17 16:31:16 -07:00
Jason Turner
71348b7967
Update copyrights to 2014 and some comment formatting
2014-02-17 16:24:29 -07:00
Jason Turner
47e44d2f9e
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/boxed_cast.hpp
include/chaiscript/dispatchkit/boxed_cast_helper.hpp
include/chaiscript/dispatchkit/dynamic_cast_conversion.hpp
include/chaiscript/dispatchkit/dynamic_object.hpp
include/chaiscript/dispatchkit/exception_specification.hpp
include/chaiscript/dispatchkit/function_call.hpp
include/chaiscript/dispatchkit/function_call_detail.hpp
include/chaiscript/dispatchkit/proxy_functions.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2013-02-25 12:08:32 -07:00
Jason Turner
2afc09dad4
Eradicate global base_class registrations to prevent problems with threading and general memory management issues with knowing how and when to clean them up.
2013-02-25 11:00:14 -07:00
Jason Turner
c5a86401aa
Merge branch 'master' into ChaiScript_5_0_CPP_11
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap_stl.hpp
2012-11-07 13:47:09 -07:00
Jason Turner
623c64299a
Add ability to specify number prefixes for floating point and integers.
2012-11-07 12:05:34 -07:00
Jason Turner
bf4f90a4ff
Fix build error for building without threads
2012-06-25 16:44:22 -06:00
Jason Turner
d3b8daeff0
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
CMakeLists.txt
include/chaiscript/language/chaiscript_common.hpp
include/chaiscript/language/chaiscript_engine.hpp
include/chaiscript/language/chaiscript_eval.hpp
2012-06-25 15:40:19 -06:00
Jason Turner
a8ea5f151d
Extreme error reporting capabilities update and bug fixes
2012-06-25 06:31:34 -06:00
Jason Turner
5a380abc68
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
include/chaiscript/dispatchkit/dispatchkit.hpp
include/chaiscript/dispatchkit/proxy_functions_detail.hpp
src/multithreaded.cpp
2012-06-03 09:27:05 -06:00
Jason Turner
d2aba2ef56
Eliminate boost::lexical_cast usage completely #39
2012-06-03 09:20:15 -06:00
Jonathan Turner
37b8e6c3f9
Merge branch '2011-09-09-CxScript' of github.com:ChaiScript/ChaiScript into 2011-09-09-CxScript
2012-05-17 10:16:35 -07:00
Jonathan Turner
c73f16fdfe
Fixing 4.x grammar to be backward compatible.
...
Added 3.x unit tests back to show this.
2012-05-17 10:14:50 -07:00
Jason Turner
af1e02b0bb
Update copyrights to 2012 #23
2012-05-16 11:55:51 -06:00
Jason Turner
bca86c87e1
Update copyrights to 2012 #23
2012-05-16 11:54:46 -06:00
Jason Turner
a04dbf2c2d
Merge branch 'master' into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/language/chaiscript_eval.hpp
unittests/object_lifetime_test.cpp
unittests/utility_test.cpp
2012-05-16 11:50:44 -06:00
Jason Turner
4bcaa75fa4
Throw eval exception if a variable or function is redefined #28
2012-05-16 11:40:43 -06:00
Jason Turner
136b877afa
Reduce cost of including chaiscript.hpp
...
- ChaiScript no longer includes or automatically instantiates std lib
- ChaiScript constructor now requires an std lib instance in the form
of a ModulePtr object
- This new layout facilitates better usage of compilation firewalls and
factories for reducing the overall impact of ChaiScript on a project
2011-12-27 21:37:00 -07:00
Jason Turner
488f2ea393
C++11 cleanups
2011-09-26 07:14:24 -06:00
Jason Turner
e1e0561c7e
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
...
Conflicts:
include/chaiscript/dispatchkit/bootstrap.hpp
2011-09-24 15:10:18 -06:00
Jason Turner
52d9e1e871
Remove := operator and fix & usage.
2011-09-24 15:06:31 -06:00
Jonathan Turner
3765c23598
Switch lambda syntax over to [](){} format, to line up with C++11.
2011-09-24 13:31:24 -06:00
Jason Turner
e3350fe55f
Merge branch '2011-09-09-CxScript' of https://github.com/ChaiScript/ChaiScript into 2011-09-09-CxScript
2011-09-24 11:55:36 -06:00
Jason Turner
2ca7a7d7da
Some C++11 cleaner usage updates
2011-09-24 11:54:40 -06:00
Jonathan Turner
ac4bb95dfb
Rename var->auto.
2011-09-24 11:50:17 -06:00
Jason Turner
6f282b6a56
Remove need for boost::function_types library
2011-09-12 08:18:51 -06:00
Jason Turner
99aaa079a4
Add missing include for stringstream
2011-09-10 14:58:19 -06:00
Jason Turner
4522ff0732
Remove various other boost libraries
2011-09-10 13:49:29 -06:00
Jason Turner
b297162d13
Move from boost::type_traits to std::type_traits
2011-09-10 13:18:29 -06:00
Jason Turner
62cf6293e8
Move from boost::uint* to std::uint*
2011-09-10 12:26:31 -06:00
Jason Turner
6bb2678d18
GO from boost::int64_t to std::int64_t, etc.
2011-09-10 11:10:14 -06:00
Jason Turner
53108463df
Move from boost::bind to std::bind
2011-09-10 10:19:55 -06:00
Jason Turner
c842bf14c1
Move from boost::function to std::function
2011-09-10 09:37:40 -06:00
Jason Turner
e2da56f199
Eliminate use of boost::shared_ptr
2011-09-10 07:24:46 -06:00
Jason Turner
afa96ecbf9
Begin port to C++11
2011-09-10 06:55:27 -06:00
Jason Turner
b064bb61e9
Finish renaming and cleaning up of Boxed_Number type for dump_system() output
2011-06-10 10:12:09 -06:00
Jason Turner
7a9baeb350
Rename of numeric to number
2011-06-08 13:53:55 -06:00
Jason Turner
92bfcfdcf3
Wrap up new Boxed_Numeric support
2011-06-04 04:25:36 +08:00
Jason Turner
4b90fbd07a
wrap up support for all built in C++ Arithmetic types
2011-06-04 04:25:18 +08:00
Jason Turner
1a225dca67
Progress towards eliminating arithmetic operators on a per-type basis
2011-06-04 04:25:12 +08:00
Jason Turner
226666c2bb
Rename Boxed_POD_Value to Boxed_Numeric, which is more correct.
2011-06-04 04:24:57 +08:00
Jason Turner
61b8481514
Further documentation of the prelude / standard library.
2011-04-25 20:24:31 -06:00
Jason Turner
8a0ef143c9
C++ API documentation is complete. ChaiScript keyword and language documentation about 75% complete (mostly ported from website.)
2011-04-17 09:29:34 -06:00
Jason Turner
0d238b1617
Documentation updates and namespace reorg for docs.
2011-04-02 20:52:49 -06:00
Jason Turner
bbe89e61bc
elimination of unused / outdated code and documentation cleanups.
2011-03-26 22:42:11 -06:00
Jason Turner
58e5df0a9a
Even more reorganization of namespaces to help with documentation and
...
clarity.
2011-03-25 15:42:18 -06:00
Jason Turner
9dd9ffec46
Update copyright information for 2011
2011-03-15 09:42:33 -06:00
Jason Turner
e3feb05e05
Merge branch 'master' of https://github.com/ChaiScript/ChaiScript
2011-03-14 09:12:01 -06:00
Jason Turner
d9a92a5148
Add std::exception as a base clase off std::runtime_error and provide unit test for it.
2011-03-09 21:41:32 -07:00
Jason Turner
f6b6936348
Normalize on include guard style, removing __ reserved words
2011-03-08 14:06:09 -07:00
Jason Turner
0b97fcb4df
Add better namespaces to make documentation easier to handle
2011-03-05 22:50:38 -07:00
Jason Turner
80f576a2f3
Reflection and introspection updates for task #85
2010-12-29 17:58:56 +00:00
Jason Turner
e90d49bb9d
Function ordering is working properly now, just need to add a unit test for it.
2010-12-11 22:38:08 +00:00
Jason Turner
6a18862c79
Fix some of the 64bit VS warnings.
2010-11-05 02:22:38 +00:00
Jason Turner
70cc1111f3
Regression - fix VisualStudio builds
2010-10-23 16:25:16 +00:00
Jason Turner
2cdfac4e47
Add function meta data functions, plus related tests, and some various cleanups for how functions are constructed internally
2010-10-14 14:33:17 +00:00
Jonathan Turner
7f037b26d4
Updated email addresses in copyright information.
2010-08-10 05:24:07 +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
799b3ef388
Update copyright for 2010
2010-05-15 22:48:54 +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
e6c6223c5b
Operator handling rewrite and fleshing out of operators to include all standard C++ operators
2009-11-10 05:55:58 +00:00