diff --git a/include/chaiscript/utility/json.hpp b/include/chaiscript/utility/json.hpp index 6bc57613..25be353a 100644 --- a/include/chaiscript/utility/json.hpp +++ b/include/chaiscript/utility/json.hpp @@ -19,7 +19,7 @@ #include #include -namespace json { +namespace chaiscript::json { using std::enable_if; using std::initializer_list; using std::is_convertible; @@ -593,6 +593,6 @@ namespace json { return JSONParser::parse_next(str, offset); } -} // End Namespace json +} // namespace chaiscript::json #endif diff --git a/readme.md b/readme.md index 88f8a516..f36788a9 100644 --- a/readme.md +++ b/readme.md @@ -7,11 +7,6 @@ Master Status: [![Linux Build Status](https://travis-ci.org/ChaiScript/ChaiScrip Develop Status: [![Linux Build Status](https://travis-ci.org/ChaiScript/ChaiScript.png?branch=develop)](https://travis-ci.org/ChaiScript/ChaiScript) [![Windows Build status](https://ci.appveyor.com/api/projects/status/6u3r4s81kkjqmsqw/branch/develop?svg=true)](https://ci.appveyor.com/project/lefticus/chaiscript/branch/develop) [![codecov.io](http://codecov.io/github/ChaiScript/ChaiScript/coverage.svg?branch=develop)](http://codecov.io/github/ChaiScript/ChaiScript?branch=develop) - - Coverity Scan Build Status - - ChaiScript http://www.chaiscript.com @@ -27,26 +22,24 @@ Introduction [![Gitter](https://badges.gitter.im/JoinChat.svg)](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 -ground up to directly target C++ and take advantage of modern C++ development +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 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: -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. 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. Requirements ============ -ChaiScript requires a C++14 compiler to build with support for variadic -templates. It has been tested with gcc 4.9 and clang 3.6 (with libcxx). -For more information see the build -[dashboard](http://chaiscript.com/ChaiScript-BuildResults/index.html). +ChaiScript requires a C++17 compiler to build with support for variadic +templates. It has been tested with gcc 7 and clang 6 (with libcxx). Installation using vcpkg ======================== @@ -66,17 +59,17 @@ Usage * Add the ChaiScript include directory to your project's header search path * Add `#include ` 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` -* 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, see below for an example. -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 +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 `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: 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 ======== -ChaiScript is similar to ECMAScript (aka JavaScript(tm)), but with some -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 +ChaiScript is similar to ECMAScript (aka JavaScript(tm)), but with some +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 "unittests" directory cover the most ground. -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 -possible way of working with the library. For further documentation generate -the doxygen documentation in the build folder or see the website +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 +possible way of working with the library. For further documentation generate +the doxygen documentation in the build folder or see the website http://www.chaiscript.com.