Minor cleanups and versioning info added

This commit is contained in:
Jason Turner 2015-06-13 16:56:22 -06:00
parent e5ccec0e89
commit cebeebdb7a

View File

@ -1,3 +1,13 @@
# ChaiScript Versioning
ChaiScript tries to follow the [Semantic Versioning](http://semver.org/) scheme. This basically means:
* Major Version Number: API changes / breaking changes
* Minor Version Number: New Features
* Patch Version Number: Minor changes / enhancements
# Initializing ChaiScript # Initializing ChaiScript
``` ```
@ -81,16 +91,16 @@ chai.add(chaiscript::const_var(somevar), "somevar"); // copied in and made const
chai.add_global_const(chaiscript::const_var(somevar), "somevar"); // global const. Throws if value is non-const chai.add_global_const(chaiscript::const_var(somevar), "somevar"); // global const. Throws if value is non-const
chai.add_global(chaiscript::var(somevar), "somevar"); // global non-const chai.add_global(chaiscript::var(somevar), "somevar"); // global non-const
``` ```
#Using STL # Using STL
ChaiScript recognize many types from STL, but you have to add specific instantiation yourself. ChaiScript recognize many types from STL, but you have to add specific instantiation yourself.
``` ```
typedef std::vector<std::pair<int, std::string>> data_list; typedef std::vector<std::pair<int, std::string>> data_list;
data_list my_list{ make_pair(0, "Hello"), make_pair(1, "World") }; data_list my_list{ make_pair(0, "Hello"), make_pair(1, "World") };
chai.add(chaiscript::bootstrap::standard_library::vector_type<data_list>("DataList")); chai.add(chaiscript::bootstrap::standard_library::vector_type<data_list>("DataList"));
chai.add(chaiscript::bootstrap::standard_library::pair_type<data_list::value_type>("DataElement")); chai.add(chaiscript::bootstrap::standard_library::pair_type<data_list::value_type>("DataElement"));
chai.add(chaiscript::var(&my_list), "data_list"); chai.add(chaiscript::var(&my_list), "data_list");
chai.eval(R"_( chai.eval(R"_(
for(var i=0; i<data_list.size(); ++i) for(var i=0; i<data_list.size(); ++i)
{ {
print(to_string(data_list[i].first) + " " + data_list[i].second) print(to_string(data_list[i].first) + " " + data_list[i].second)
@ -109,6 +119,8 @@ chai.eval(R"(print("Hello World"))");
## Unboxing Return Values ## Unboxing Return Values
Returns values are of the type `Boxed_Value` which is meant to be opaque to the programmer. Use one of the unboxing methods to access the internal data.
### Prefered ### Prefered
``` ```
@ -230,6 +242,9 @@ on your platform.
## Functions ## Functions
Note that any type of ChaiScript function can be passed freely to C++ and automatically
converted into an `std::function` object.
### General ### General
``` ```