本文整理汇总了C++中createmeta函数的典型用法代码示例。如果您正苦于以下问题:C++ createmeta函数的具体用法?C++ createmeta怎么用?C++ createmeta使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了createmeta函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: luaopen_zip
LUAZIP_API int luaopen_zip (lua_State *L) {
createmeta(L);
lua_pushvalue(L, -1);
luaL_openlib(L, LUA_ZIPLIBNAME, ziplib, 1);
set_info(L);
return 1;
}
示例2: luaopen_zip
LUAZIP_API int luaopen_zip (lua_State *L) {
lua_pop(L,createmeta(L));
lua_newtable(L);
luaL_setfuncs(L, ziplib, 0);
set_info(L);
return 1;
}
示例3: luaopen_sys
LUALIB_API int
luaopen_sys (lua_State *L)
{
luaL_register(L, LUA_SYSLIBNAME, sys_lib);
createmeta(L);
luaopen_sys_mem(L);
luaopen_sys_thread(L);
#ifdef _WIN32
#ifdef _WIN32_WCE
is_WinNT = 1;
#else
/* Is Win32 NT platform? */
{
OSVERSIONINFO osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
is_WinNT = (GetVersionEx(&osvi)
&& osvi.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
#endif
luaopen_sys_win32(L);
#else
/* Ignore sigpipe or it will crash us */
signal_set(SIGPIPE, SIG_IGN);
/* To interrupt blocking syscalls */
signal_set(SYS_SIGINTR, NULL);
#endif
return 1;
}
示例4: luaopen_io
LUALIB_API int luaopen_io (lua_State *L) {
createmeta(L);
#if LUA_OPTIMIZE_MEMORY != 2
/* create (private) environment (with fields IO_INPUT, IO_OUTPUT, __close) */
newfenv(L, io_fclose);
lua_replace(L, LUA_ENVIRONINDEX);
/* open library */
luaL_register(L, LUA_IOLIBNAME, iolib);
newfenv(L, io_noclose); /* close function for default files */
#else
luaL_register_light(L, LUA_IOLIBNAME, iolib);
lua_pushvalue(L, -1);
lua_setmetatable(L, -2);
#endif
/* create (and set) default files */
createstdfile(L, stdin, IO_INPUT, "stdin");
createstdfile(L, stdout, IO_OUTPUT, "stdout");
createstdfile(L, stderr, IO_STDERR, "stderr");
#if LUA_OPTIMIZE_MEMORY != 2
lua_pop(L, 1); /* pop environment for default files */
lua_getfield(L, -1, "popen");
newfenv(L, io_pclose); /* create environment for 'popen' */
lua_setfenv(L, -2); /* set fenv for 'popen' */
lua_pop(L, 1); /* pop 'popen' */
#endif
return 1;
}
示例5: luaopen_io
LUAMOD_API int luaopen_io (lua_State *L) {
#if !LUA_USE_ROTABLE
luaL_newlib(L, iolib); /* new module */
createmeta(L);
/* create (and set) default files */
createstdfile(L, stdin, IO_INPUT, "stdin");
createstdfile(L, stdout, IO_OUTPUT, "stdout");
createstdfile(L, stderr, NULL, "stderr");
#else
luaL_newlib(L, io_load_funcs); /* new module */
lua_pushvalue(L, -1);
lua_setmetatable(L, -2);
luaL_newmetatable(L, LUA_FILEHANDLE); /* create metatable for file handles */
lua_pushvalue(L, -1); /* push metatable */
lua_setfield(L, -2, "__index"); /* metatable.__index = metatable */
luaL_setfuncs(L, flib_load_funcs, 0); /* add file methods to new metatable */
lua_pop(L, 1); /* pop new metatable */
/* create (and set) default files */
createstdfile(L, stdin, IO_INPUT, "stdin");
createstdfile(L, stdout, IO_OUTPUT, "stdout");
createstdfile(L, stderr, NULL, "stderr");
#endif
return 1;
}
示例6: luaopen_polarssl
LUALIB_API int
luaopen_polarssl (lua_State *L)
{
luaL_register(L, LUA_POLARSSLLIBNAME, polarssl_lib);
createmeta(L);
return 1;
}
示例7: luaopen_io
LUALIB_API int luaopen_io (lua_State *L) {
createmeta(L);
/* create (private) environment (with fields IO_INPUT, IO_OUTPUT, __close) */
lua_createtable(L, 2, 1);
lua_replace(L, LUA_ENVIRONINDEX);
/* open library */
luaL_register(L, LUA_IOLIBNAME, iolib);
/* create (and set) default files */
createstdfile(L, stdin, IO_INPUT, "stdin");
createstdfile(L, stdout, IO_OUTPUT, "stdout");
createstdfile(L, stderr, 0, "stderr");
#if USE_POPEN
/* create environment for 'popen' */
lua_getfield(L, -1, "popen");
lua_createtable(L, 0, 1);
lua_pushcfunction(L, io_pclose);
lua_setfield(L, -2, "__close");
lua_setfenv(L, -2);
lua_pop(L, 1); /* pop 'popen' */
#endif
/* set default close function */
lua_pushcfunction(L, io_fclose);
lua_setfield(L, LUA_ENVIRONINDEX, "__close");
return 1;
}
示例8: luaopen_lzlib
LUALIB_API int luaopen_lzlib (lua_State *L)
{
createmeta(L);
luaL_openlib(L, "lzlib", R, 0);
lua_pushliteral(L,"version"); /** version */
lua_pushliteral(L,"pre-alpha");
lua_settable(L,-3);
return 1;
}
示例9: luaopen_io
LUAMOD_API int luaopen_io(lua_State *L) {
luaL_newlib(L, iolib); /* new module */
createmeta(L);
/* create (and set) default files */
createstdfile(L, stdin, IO_INPUT, "stdin");
createstdfile(L, stdout, IO_OUTPUT, "stdout");
createstdfile(L, stderr, NULL, "stderr");
return 1;
}
示例10: luaopen_sqlite3
int luaopen_sqlite3(lua_State* L) {
luaL_newlib(L, sqlite3lib);
lua_pushinteger(L, SQLITE_INTEGER);
lua_setfield(L, -2, "INTEGER");
lua_pushinteger(L, SQLITE_FLOAT);
lua_setfield(L, -2, "FLOAT");
lua_pushinteger(L, SQLITE_BLOB);
lua_setfield(L, -2, "BLOB");
lua_pushinteger(L, SQLITE_NULL);
lua_setfield(L, -2, "NULL");
lua_pushinteger(L, SQLITE3_TEXT);
lua_setfield(L, -2, "TEXT");
createmeta(L, MT_CONN, connlib);
createmeta(L, MT_STMT, stmtlib);
return 1;
}
示例11: luaopen_io
LUALIB_API int luaopen_io (lua_State *L) {
luaL_openlib(L, LUA_OSLIBNAME, syslib, 0);
createmeta(L);
lua_pushvalue(L, -1);
luaL_openlib(L, LUA_IOLIBNAME, iolib, 1);
/* put predefined file handles into `io' table */
registerfile(L, stdin, "stdin", IO_INPUT);
registerfile(L, stdout, "stdout", IO_OUTPUT);
registerfile(L, stderr, "stderr", NULL);
return 1;
}
示例12: open_iolibext
int open_iolibext (lua_State *L) {
#ifdef LuajitTeX
return luaopen_io(L);
#else
luaL_newlib(L, iolib); /* new module */
createmeta(L);
/* create (and set) default files */
createstdfile(L, stdin, IO_INPUT, "stdin");
createstdfile(L, stdout, IO_OUTPUT, "stdout");
createstdfile(L, stderr, NULL, "stderr");
return 1;
#endif
}
示例13: luaopen_luacurl
LUACURL_API int luaopen_luacurl (lua_State *L)
{
curl_global_init(CURL_GLOBAL_ALL); /* In windows, this will init the winsock stuff */
createmeta(L);
luaL_openlib (L, 0, luacurl_meths, 0);
luaL_openlib (L, LUACURL_LIBNAME, luacurl_funcs, 0);
set_info(L);
setcurlerrors(L);
setcurloptions(L);
setcurlvalues(L);
setcurlinfo(L);
return 1;
}
示例14: lua_iolibopen
LUALIB_API int lua_iolibopen (lua_State *L) {
createmeta(L);
luaL_opennamedlib(L, LUA_OSLIBNAME, syslib, 0);
lua_pushliteral(L, FILEHANDLE); /* S: FH */
lua_rawget(L, LUA_REGISTRYINDEX); /* S: mt */
lua_pushvalue(L, -1); /* S: mt mt */
luaL_opennamedlib(L, LUA_IOLIBNAME, iolib, 1); /* S: mt */
lua_pushliteral(L, LUA_IOLIBNAME); /* S: `io' mt */
lua_gettable(L, LUA_GLOBALSINDEX); /* S: io mt */
/* put predefined file handles into `io' table */
registerfile(L, stdin, "stdin", IO_INPUT);
registerfile(L, stdout, "stdout", IO_OUTPUT);
registerfile(L, stderr, "stderr", NULL);
lua_pop(L, 2); /* S: empty */
return 0;
}
示例15: imlua_open_image
void imlua_open_image (lua_State *L)
{
/* "im" table is at the top of the stack */
createmeta(L);
luaL_register(L, NULL, imimage_lib);
#ifdef IMLUA_USELOH
#include "im_image.loh"
#else
#ifdef IMLUA_USELH
#include "im_image.lh"
#else
luaL_dofile(L, "im_image.lua");
#endif
#endif
}