"Fossies" - the Fresh Open Source Software Archive

Member "memcached-1.6.15/vendor/lua/src/ltable.h" (1 Oct 2021, 2236 Bytes) of package /linux/www/memcached-1.6.15.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /*
    2 ** $Id: ltable.h $
    3 ** Lua tables (hash)
    4 ** See Copyright Notice in lua.h
    5 */
    6 
    7 #ifndef ltable_h
    8 #define ltable_h
    9 
   10 #include "lobject.h"
   11 
   12 
   13 #define gnode(t,i)  (&(t)->node[i])
   14 #define gval(n)     (&(n)->i_val)
   15 #define gnext(n)    ((n)->u.next)
   16 
   17 
   18 /*
   19 ** Clear all bits of fast-access metamethods, which means that the table
   20 ** may have any of these metamethods. (First access that fails after the
   21 ** clearing will set the bit again.)
   22 */
   23 #define invalidateTMcache(t)    ((t)->flags &= ~maskflags)
   24 
   25 
   26 /* true when 't' is using 'dummynode' as its hash part */
   27 #define isdummy(t)      ((t)->lastfree == NULL)
   28 
   29 
   30 /* allocated size for hash nodes */
   31 #define allocsizenode(t)    (isdummy(t) ? 0 : sizenode(t))
   32 
   33 
   34 /* returns the Node, given the value of a table entry */
   35 #define nodefromval(v)  cast(Node *, (v))
   36 
   37 
   38 LUAI_FUNC const TValue *luaH_getint (Table *t, lua_Integer key);
   39 LUAI_FUNC void luaH_setint (lua_State *L, Table *t, lua_Integer key,
   40                                                     TValue *value);
   41 LUAI_FUNC const TValue *luaH_getshortstr (Table *t, TString *key);
   42 LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key);
   43 LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key);
   44 LUAI_FUNC void luaH_newkey (lua_State *L, Table *t, const TValue *key,
   45                                                     TValue *value);
   46 LUAI_FUNC void luaH_set (lua_State *L, Table *t, const TValue *key,
   47                                                  TValue *value);
   48 LUAI_FUNC void luaH_finishset (lua_State *L, Table *t, const TValue *key,
   49                                        const TValue *slot, TValue *value);
   50 LUAI_FUNC Table *luaH_new (lua_State *L);
   51 LUAI_FUNC void luaH_resize (lua_State *L, Table *t, unsigned int nasize,
   52                                                     unsigned int nhsize);
   53 LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, unsigned int nasize);
   54 LUAI_FUNC void luaH_free (lua_State *L, Table *t);
   55 LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key);
   56 LUAI_FUNC lua_Unsigned luaH_getn (Table *t);
   57 LUAI_FUNC unsigned int luaH_realasize (const Table *t);
   58 
   59 
   60 #if defined(LUA_DEBUG)
   61 LUAI_FUNC Node *luaH_mainposition (const Table *t, const TValue *key);
   62 LUAI_FUNC int luaH_isdummy (const Table *t);
   63 #endif
   64 
   65 
   66 #endif