mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
Update README
This commit is contained in:
parent
5ff185f53b
commit
4c46df454b
44
README.md
44
README.md
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user