rtpredicate.h

来自「FastDb是高效的内存数据库系统」· C头文件 代码 · 共 40 行

H
40
字号
// -*- Mode: C++ -*-
//         RTpredicate.h
//
// Copyright (c) 1996, Regents of the University of California
// $Header: /cvsroot/fastdb/fastdb/GiST/RSTree/RTpredicate.h,v 1.1 2007/07/18 20:45:47 knizhnik Exp $

#ifndef RTPREDICATE_H
#define RTPREDICATE_H

#include "GiSTpredicate.h"

enum RToper {
  RToverlap,
  RTcontains,
  RTcontained,
  RTEqual
};

class RTpredicate : public GiSTpredicate {
public:
  RTpredicate(RToper oper, const RTkey& value) : oper(oper), value(value) {}
  RTpredicate(const RTpredicate& p) : oper(p.oper), value(p.value) {}
  GiSTobject *Copy() const { return new RTpredicate(*this); }
  GiSTobjid IsA() { return RTPREDICATE_CLASS; }
  int Consistent(const GiSTentry& entry) const;
  void SetOper(RToper op) { oper = op; }
  void SetValue(const RTkey& v) { value = v; }
#ifdef PRINTING_OBJECTS
  void Print(ostream& os) const {
    const char *operstrs[] = { "&&", "^", "||", "=" };
    os << "key " << operstrs[oper] << " " << value;
  }
#endif
private:
  RToper oper;
  RTkey value;
};

#endif

⌨️ 快捷键说明

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