Update README

This commit is contained in:
Rapptz 2014-01-18 23:07:55 -05:00
parent 5ff185f53b
commit 4c46df454b

View File

@ -3,6 +3,37 @@
Sol is a C++ library binding to Lua. It currently supports Lua 5.2. Sol aims to be easy to use and easy to add to a project. Sol is a C++ library binding to Lua. It currently supports Lua 5.2. Sol aims to be easy to use and easy to add to a project.
At this time, the library is header-only for easy integration with projects. At this time, the library is header-only for easy integration with projects.
## Sneak Peek
```cpp
#include <sol.hpp>
#include <cassert>
int main() {
sol::state lua;
int x = 0;
lua.set_function("beep", [&x]{ ++x; });
lua.script("beep()");
assert(x == 1);
}
```
More examples are given in the examples directory.
## Features
- Supports retrieval and setting of multiple types including `std::string`.
- Lambda, function, and member function bindings are supported.
- Intermediate type for checking if a variable exists.
- Simple API that completely abstracts away the C stack API.
- `operator[]`-style manipulation of tables is provided.
- Support for tables.
## Supported Compilers
Sol makes use of C++11 features. GCC 4.7 and Clang 3.3 or higher should be able to compile without problems. Visual Studio
2013 with the November CTP should be able to support this as well.
## Caveats ## Caveats
Due to how this library is used compared to the C API, the Lua Stack is completely abstracted away. Not only that, but all Due to how this library is used compared to the C API, the Lua Stack is completely abstracted away. Not only that, but all
@ -11,23 +42,10 @@ Lua errors are thrown as exceptions instead. This allows you to handle the error
It should be noted that the library itself depends on `lua.hpp` to be found by your compiler. It uses angle brackets, e.g. It should be noted that the library itself depends on `lua.hpp` to be found by your compiler. It uses angle brackets, e.g.
`#include <lua.hpp>`. `#include <lua.hpp>`.
## Contributing
If you want to contribute, please check CONTRIBUTING.md for details. Thank you!
## Examples
Examples are provided in the examples directory.
## License ## License
Sol is distributed with an MIT License. You can see LICENSE.txt for more info. Sol is distributed with an MIT License. You can see LICENSE.txt for more info.
## Supported Compilers
Sol makes use of C++11 features. GCC 4.7 and Clang 3.3 or higher should be able to compile without problems. Visual Studio
2013 with the November CTP should be able to support this as well.
## TODO ## TODO
- Possibly document functions and classes via doxygen. - Possibly document functions and classes via doxygen.