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

📄 rtpredicate.h

📁 此文件包含了在linux下实现tpr-tree索引的源代码
💻 H
字号:
// -*- Mode: C++ -*-//--------------------------------------------------------------------//      RTpredicate.h//      -------------//      Implements the query predicate //    //      Inheritance hierarchy://      GiSTobject//        GiSTpredicate//          RTpredicate////      TPR-tree - Index for continuously moving objects//      July 2001 release, Aalborg University//#ifndef RTPREDICATE_H#define RTPREDICATE_H#include "GiSTpredicate.h"#include "rtkey.h"//----------------------------------------------------enum RToper {  RToverlap,  RTcontains,  RTcontained,  RTEqual};//----------------------------------------------------class RTpredicate : public GiSTpredicate {public:   RTpredicate(RToper oper, const RTkey& val) :               oper(oper), ptr ((GiSTpage) -1) { value = (RTkey*)val.Copy(); }   RTpredicate(GiSTpage ptr, const RTkey& val) :               oper(RTEqual), ptr(ptr) { value = (RTkey*)val.Copy(); }   RTpredicate(const RTpredicate& p)          :               oper(p.oper), ptr(p.ptr) { value = (RTkey*)(p.value->Copy()); }   GiSTobject* Copy() const { return new RTpredicate(*this); }   GiSTobjid   IsA () const { return RTPREDICATE_CLASS; }   int         Consistent(const GiSTentry& entry) const;   void        SetOper   (RToper op)      { oper = op; }   void        SetValue  (const RTkey& v)    { delete value; value = (RTkey*) v.Copy(); }   RTkey*      Value () const { return value; }   RToper      Oper  () const { return oper;  }   GiSTpage    Ptr   () const { return ptr;   }   ~RTpredicate() { delete value; }#ifdef PRINTING_OBJECTS   void Print(ostream& os) const    {      const char *operstrs[] = { "&&", "^", "||", "=" };      os << "key " << operstrs[oper] << " " << value;   }#endif  private:   GiSTpage  ptr;       // For delete predicates   RToper    oper;   RTkey*    value;};#endif

⌨️ 快捷键说明

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