sol2/examples/source/config.cpp

42 lines
924 B
C++
Raw Normal View History

#define SOL_ALL_SAFETIES_ON 1
#include <sol/sol.hpp>
2013-12-17 00:17:33 +08:00
#include <string>
#include <iostream>
2014-01-19 11:59:59 +08:00
// shows how to load basic data to a struct
2013-12-17 00:17:33 +08:00
struct config {
std::string name;
int width;
int height;
2013-12-17 00:17:33 +08:00
void print() {
std::cout << "Name: " << name << '\n'
<< "Width: " << width << '\n'
<< "Height: " << height << '\n';
}
2013-12-17 00:17:33 +08:00
};
int main() {
sol::state lua;
config screen;
// To use the file, uncomment here and make sure it is in
// local dir lua.script_file("config.lua");
lua.script(R"(
name = "Asus"
width = 1920
height = 1080
)");
screen.name = lua.get<std::string>("name");
screen.width = lua.get<int>("width");
screen.height = lua.get<int>("height");
SOL_ASSERT(screen.name == "Asus");
SOL_ASSERT(screen.width == 1920);
SOL_ASSERT(screen.height == 1080);
std::cout << "=== config ===" << std::endl;
screen.print();
std::cout << std::endl;
2013-12-17 00:17:33 +08:00
}