symtab.h

来自「最新版本!fastdb是高效的内存数据库系统」· C头文件 代码 · 共 49 行

H
49
字号
//-< SYMTAB.H >----------------------------------------------------*--------*
// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *
// (Main Memory Database Management System)                          *   /\|  *
//                                                                   *  /  \  *
//                          Created:     20-Nov-98    K.A. Knizhnik  * / [] \ *
//                          Last update: 10-Dec-98    K.A. Knizhnik  * GARRET *
//-------------------------------------------------------------------*--------*
// Symbol table interface
//-------------------------------------------------------------------*--------*

#ifndef __SYMTAB_H__
#define __SYMTAB_H__

BEGIN_FASTDB_NAMESPACE

#ifndef CLONE_IDENTIFIERS
#define FASTDB_CLONE_ANY_IDENTIFIER false
#else
#define FASTDB_CLONE_ANY_IDENTIFIER true
#endif

class  FASTDB_DLL_ENTRY dbSymbolTable { 
    struct HashTableItem { 
        HashTableItem* next;
        char*          str;
        unsigned       hash;
        int            tag;
        byte           allocated;
        
        ~HashTableItem() { 
            if (allocated) { 
                delete[] str;
            }
        }
    };
    static HashTableItem* hashTable[];

  public:
    ~dbSymbolTable();
    static dbSymbolTable instance;

    static int add(char* &str, int tag,  bool allocate = true);
};

END_FASTDB_NAMESPACE

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?