mirror of
https://github.com/ChaiScript/ChaiScript.git
synced 2025-12-06 08:46:53 +08:00
Merge pull request #562 from BerndAmend/develop
Update readme.txt and fix json namespace clash with nlohmann/json Fixes #486, #506
This commit is contained in:
commit
855c3ced88
@ -19,7 +19,7 @@
|
|||||||
#include <variant>
|
#include <variant>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace json {
|
namespace chaiscript::json {
|
||||||
using std::enable_if;
|
using std::enable_if;
|
||||||
using std::initializer_list;
|
using std::initializer_list;
|
||||||
using std::is_convertible;
|
using std::is_convertible;
|
||||||
@ -593,6 +593,6 @@ namespace json {
|
|||||||
return JSONParser::parse_next(str, offset);
|
return JSONParser::parse_next(str, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // End Namespace json
|
} // namespace chaiscript::json
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
45
readme.md
45
readme.md
@ -7,11 +7,6 @@ Master Status: [](https://travis-ci.org/ChaiScript/ChaiScript) [](https://ci.appveyor.com/project/lefticus/chaiscript/branch/develop) [](http://codecov.io/github/ChaiScript/ChaiScript?branch=develop)
|
Develop Status: [](https://travis-ci.org/ChaiScript/ChaiScript) [](https://ci.appveyor.com/project/lefticus/chaiscript/branch/develop) [](http://codecov.io/github/ChaiScript/ChaiScript?branch=develop)
|
||||||
|
|
||||||
<a href="https://scan.coverity.com/projects/5297">
|
|
||||||
<img alt="Coverity Scan Build Status"
|
|
||||||
src="https://img.shields.io/coverity/scan/5297.svg"/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
ChaiScript
|
ChaiScript
|
||||||
|
|
||||||
http://www.chaiscript.com
|
http://www.chaiscript.com
|
||||||
@ -27,26 +22,24 @@ Introduction
|
|||||||
|
|
||||||
[](https://gitter.im/ChaiScript/ChaiScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/ChaiScript/ChaiScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
|
|
||||||
ChaiScript is one of the only embedded scripting language designed from the
|
ChaiScript is one of the only embedded scripting language designed from the
|
||||||
ground up to directly target C++ and take advantage of modern C++ development
|
ground up to directly target C++ and take advantage of modern C++ development
|
||||||
techniques, working with the developer how they would expect it to work. Being a
|
techniques, working with the developer how they would expect it to work. Being a
|
||||||
native C++ application, it has some advantages over existing embedded scripting
|
native C++ application, it has some advantages over existing embedded scripting
|
||||||
languages:
|
languages:
|
||||||
|
|
||||||
1. It uses a header-only approach, which makes it easy to integrate with
|
1. It uses a header-only approach, which makes it easy to integrate with
|
||||||
existing projects.
|
existing projects.
|
||||||
2. It maintains type safety between your C++ application and the user scripts.
|
2. It maintains type safety between your C++ application and the user scripts.
|
||||||
3. It supports a variety of C++ techniques including callbacks, overloaded
|
3. It supports a variety of C++ techniques including callbacks, overloaded
|
||||||
functions, class methods, and stl containers.
|
functions, class methods, and stl containers.
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
============
|
============
|
||||||
|
|
||||||
ChaiScript requires a C++14 compiler to build with support for variadic
|
ChaiScript requires a C++17 compiler to build with support for variadic
|
||||||
templates. It has been tested with gcc 4.9 and clang 3.6 (with libcxx).
|
templates. It has been tested with gcc 7 and clang 6 (with libcxx).
|
||||||
For more information see the build
|
|
||||||
[dashboard](http://chaiscript.com/ChaiScript-BuildResults/index.html).
|
|
||||||
|
|
||||||
Installation using vcpkg
|
Installation using vcpkg
|
||||||
========================
|
========================
|
||||||
@ -66,17 +59,17 @@ Usage
|
|||||||
|
|
||||||
* Add the ChaiScript include directory to your project's header search path
|
* Add the ChaiScript include directory to your project's header search path
|
||||||
* Add `#include <chaiscript/chaiscript.hpp>` to your source file
|
* Add `#include <chaiscript/chaiscript.hpp>` to your source file
|
||||||
* Instantiate the ChaiScript engine in your application. For example, create a
|
* Instantiate the ChaiScript engine in your application. For example, create a
|
||||||
new engine with the name `chai` like so: `chaiscript::ChaiScript chai`
|
new engine with the name `chai` like so: `chaiscript::ChaiScript chai`
|
||||||
* The default behavior is to load the ChaiScript standard library from a
|
* The default behavior is to load the ChaiScript standard library from a
|
||||||
loadable module. A second option is to compile the library into your code,
|
loadable module. A second option is to compile the library into your code,
|
||||||
see below for an example.
|
see below for an example.
|
||||||
|
|
||||||
Once instantiated, the engine is ready to start running ChaiScript source. You
|
Once instantiated, the engine is ready to start running ChaiScript source. You
|
||||||
have two main options for processing ChaiScript source: a line at a time using
|
have two main options for processing ChaiScript source: a line at a time using
|
||||||
`chai.eval(string)` and a file at a time using `chai.eval_file(fname)`
|
`chai.eval(string)` and a file at a time using `chai.eval_file(fname)`
|
||||||
|
|
||||||
To make functions in your C++ code visible to scripts, they must be registered
|
To make functions in your C++ code visible to scripts, they must be registered
|
||||||
with the scripting engine. To do so, call add:
|
with the scripting engine. To do so, call add:
|
||||||
|
|
||||||
chai.add(chaiscript::fun(&my_function), "my_function_name");
|
chai.add(chaiscript::fun(&my_function), "my_function_name");
|
||||||
@ -86,15 +79,15 @@ Once registered the function will be visible to scripts as "my_function_name"
|
|||||||
Examples
|
Examples
|
||||||
========
|
========
|
||||||
|
|
||||||
ChaiScript is similar to ECMAScript (aka JavaScript(tm)), but with some
|
ChaiScript is similar to ECMAScript (aka JavaScript(tm)), but with some
|
||||||
modifications to make it easier to use. For usage examples see the "samples"
|
modifications to make it easier to use. For usage examples see the "samples"
|
||||||
directory, and for more in-depth look at the language, the unit tests in the
|
directory, and for more in-depth look at the language, the unit tests in the
|
||||||
"unittests" directory cover the most ground.
|
"unittests" directory cover the most ground.
|
||||||
|
|
||||||
For examples of how to register parts of your C++ application, see
|
For examples of how to register parts of your C++ application, see
|
||||||
"example.cpp" in the "samples" directory. Example.cpp is verbose and shows every
|
"example.cpp" in the "samples" directory. Example.cpp is verbose and shows every
|
||||||
possible way of working with the library. For further documentation generate
|
possible way of working with the library. For further documentation generate
|
||||||
the doxygen documentation in the build folder or see the website
|
the doxygen documentation in the build folder or see the website
|
||||||
http://www.chaiscript.com.
|
http://www.chaiscript.com.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user