⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gistdefs.h

📁 FastDb是高效的内存数据库系统
💻 H
字号:
// -*- Mode: C++ -*-

//          GiSTdefs.h
//
// Copyright (c) 1996, Regents of the University of California
// $Header: /cvsroot/fastdb/fastdb/GiST/libGiST/GiSTdefs.h,v 1.1 2007/07/18 20:45:49 knizhnik Exp $

#ifndef GISTDEFS_H
#define GISTDEFS_H

#include <assert.h>
#include <stdlib.h>
#include <math.h>

#ifdef PRINTING_OBJECTS
#include <iostream.h>
#endif

// A GiSTpage is a disk page number (a "pointer" to a disk page)
typedef unsigned long GiSTpage;

// GiSTobjid's are used to identify objects
// You can add new ones as you define new objects, or simply
// make things be GISTOBJECT_CLASS if you don't want to bother.
typedef enum {
  GISTOBJECT_CLASS,
  GIST_CLASS,
  BT_CLASS,
  RT_CLASS,
  GISTENTRY_CLASS,
  GISTNODE_CLASS,
  BTNODE_CLASS,
  BTENTRY_CLASS,
  BTKEY_CLASS,
  RTNODE_CLASS,
  RTENTRY_CLASS,
  RTKEY_CLASS,
  GISTPREDICATE_CLASS,
  BTPREDICATE_CLASS,
  RTPREDICATE_CLASS,
  GISTCURSOR_CLASS
} GiSTobjid;

// GiSTobject is the base class for all GiST classes
// It provides identity, equality tests and display of objects
  
class GiSTobject
{
public:
  virtual GiSTobjid IsA() const { return GISTOBJECT_CLASS; }
  virtual GiSTobject *Copy() const { return NULL; }
  virtual int IsEqual(const GiSTobject& obj) const { return 0; }
#ifdef PRINTING_OBJECTS
  virtual void Print(ostream& os) const { os << "No print method\n"; }
#endif
  virtual ~GiSTobject() {}
};

#ifdef PRINTING_OBJECTS
inline ostream& operator<< (ostream& os, const GiSTobject& obj) {
    obj.Print(os);
    return os;
}

inline ostream& operator<< (ostream& os, const GiSTobject *obj) {
    obj->Print(os);
    return os;
}
#endif

#endif

⌨️ 快捷键说明

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