1*c697fb7fSBrooks DavisLutok is a lightweight C++ API library for Lua. 2*c697fb7fSBrooks Davis 3*c697fb7fSBrooks DavisLutok provides thin C++ wrappers around the Lua C API to ease the 4*c697fb7fSBrooks Davisinteraction between C++ and Lua. These wrappers make intensive use of 5*c697fb7fSBrooks DavisRAII to prevent resource leakage, expose C++-friendly data types, report 6*c697fb7fSBrooks Daviserrors by means of exceptions and ensure that the Lua stack is always 7*c697fb7fSBrooks Davisleft untouched in the face of errors. The library also provides a small 8*c697fb7fSBrooks Davissubset of miscellaneous utility functions built on top of the wrappers. 9*c697fb7fSBrooks Davis 10*c697fb7fSBrooks DavisLutok focuses on providing a clean and safe C++ interface; the drawback 11*c697fb7fSBrooks Davisis that it is not suitable for performance-critical environments. In 12*c697fb7fSBrooks Davisorder to implement error-safe C++ wrappers on top of a Lua C binary 13*c697fb7fSBrooks Davislibrary, Lutok adds several layers or abstraction and error checking 14*c697fb7fSBrooks Davisthat go against the original spirit of the Lua C API and thus degrade 15*c697fb7fSBrooks Davisperformance. 16*c697fb7fSBrooks Davis 17*c697fb7fSBrooks DavisFor further information on the contents of this distribution file, 18*c697fb7fSBrooks Davisplease refer to the following other documents: 19*c697fb7fSBrooks Davis 20*c697fb7fSBrooks Davis* AUTHORS: List of authors and contributors to this project. 21*c697fb7fSBrooks Davis* COPYING: License information. 22*c697fb7fSBrooks Davis* INSTALL: Compilation and installation instructions. 23*c697fb7fSBrooks Davis* NEWS: List of major changes between formal releases. 24*c697fb7fSBrooks Davis 25*c697fb7fSBrooks DavisFor general project information, please visit: 26*c697fb7fSBrooks Davis 27*c697fb7fSBrooks Davis https://github.com/jmmv/lutok/ 28