亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reference.h

?? 俄羅斯牛人KK的作品,著名的ORDBMS,這里上傳最新的3.39版本源代碼.希望了解對象關系數據庫的同好,請不要錯過.
?? H
字號:
//-< REFERENCE.H >---------------------------------------------------*--------*
// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *
// (Main Memory Database Management System)                          *   /\|  *
//                                                                   *  /  \  *
//                          Created:     20-Nov-98    K.A. Knizhnik  * / [] \ *
//                          Last update: 15-Feb-99    K.A. Knizhnik  * GARRET *
//-------------------------------------------------------------------*--------*
// Database table field reference type
//-------------------------------------------------------------------*--------*

#ifndef __REFERENCE_H__
#define __REFERENCE_H__

BEGIN_FASTDB_NAMESPACE

/**
 * Base class for all references
 */
class FASTDB_DLL_ENTRY dbAnyReference {  
    friend class dbAnyCursor;
    friend class dbDatabase;
    friend class dbFieldDescriptor;
  protected:
    oid_t       oid;

  public: 
    dbAnyReference(oid_t oid = 0) { 
        this->oid = oid;
    }
    /**
     * Get object idetifier
     * @return object identifier of referenced object 
     */     
    oid_t getOid() const { 
        return oid;
    }

    /**
     * Check whether reference is null
     */
    friend bool isNull(dbAnyReference const& ref) { 
        return ref.oid == 0; 
    }
    
    /**
     * Check whether reference is null
     */    
    bool isNull() const { return oid == 0; }

    dbFieldDescriptor* dbDescribeComponents(dbFieldDescriptor* fd) {
        fd->type = fd->appType = dbField::tpReference;
        fd->refTable = NULL;
        fd->dbsSize = fd->alignment = sizeof(oid_t);
        return NULL;
    }
};

/**
 * Class for null references
 */
class FASTDB_DLL_ENTRY dbNullReference {};

/**
 * Single instance of  dbNullReference class used to pass or asign null reference
 */
extern FASTDB_DLL_ENTRY dbNullReference null;

#if (defined(_MSC_VER) && (_MSC_VER+0 < 1200 || _MSC_VER >= 1310)) || defined(__MWERKS__)
//
// Visual C++ prior to 5.0 version (with applied Service Pack 3)
// didn't support lazy template instantiation. As far as VC has bug
// with treating local function prototypes, we have to use friend function.
//
template<class T>
extern dbTableDescriptor* dbGetTableDescriptor(T*);
#endif


/**
 * Template for reference parameterized by class of referenced records.
 */
template<class T>
class dbReference : public dbAnyReference { 
  public:
    /**
     * Internal method used to describe reference 
     */
    dbFieldDescriptor* dbDescribeComponents(dbFieldDescriptor* fd) { 
        fd->type = fd->appType = dbField::tpReference;
#if defined(_MSC_VER) && (_MSC_VER+0 < 1200 || _MSC_VER >= 1310) || defined(__MWERKS__)
        fd->refTable = dbGetTableDescriptor((T*)0);
#else
#if GNUC_BEFORE(2,96) || defined(__VACPP_MULTI__) || defined(__IBMCPP__)
        extern dbTableDescriptor* dbGetTableDescriptor(T*);
        fd->refTable = dbGetTableDescriptor((T*)0);
#else
        fd->refTable = &T::dbDescriptor;
#endif
#endif
        fd->dbsSize = fd->alignment = sizeof(oid_t);
        return NULL;
    }

    /**
     * Assignment operator
     * @param ref assigned reference of the same type
     * @return this reference
     */
    dbReference& operator = (dbReference const& ref) { 
        oid = ref.oid;
        return *this;
    }

    /**
     * Operator for assigning null to reference
     * @return this reference
     */
    dbReference& operator = (dbNullReference const&) { 
        oid = 0;
        return *this;
    }

    /**
     * Unsafe assignment operator. Assign any refernce.      
     * @param ref assigned reference. If it is not of the same type - result is unpredicted.
     * @return this reference
     */
    dbReference<T>& unsafeAssign(dbAnyReference const& ref) {
        oid = ref.getOid();
        return *this;
    }
 
    /**
     * Operator for comparision of two references of the same type
     */
    bool operator == (dbReference const& ref) const { 
        return oid == ref.oid; 
    }

    /**
     * Operator for comparision of two references of the same type
     */
    bool operator != (dbReference const& ref) const { 
        return oid != ref.oid; 
    }

    /**
     * Operator for cecking if reference is null
     */
    bool operator == (dbNullReference const&) const { 
        return oid == 0;
    }

    /**
     * Operator for cecking if reference is not null
     */
    bool operator != (dbNullReference const&) const { 
        return oid != 0;
    }

    /**
     * Constructor of null reference
     */
    dbReference(dbNullReference const&) : dbAnyReference(0) {}

    /**
     * Copy constructor from reference of the same type
     */
    dbReference(dbReference const& ref) : dbAnyReference(ref.oid) {}
    
    /**
     * Construstor of reference from OID. Use this constructor with care, because 
     * FastDB is not able to check if asigned OID belongs to the required table.
     * If you assign OID of record friom some other table and then use this reference, results will
     * be unpredicted (even database corruption is possible)
     */
    dbReference(oid_t oid=0) : dbAnyReference(oid) {}
};

END_FASTDB_NAMESPACE

#endif





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日产卡一卡二卡麻豆| 亚洲一区二区在线免费看| 精品国产亚洲一区二区三区在线观看 | 亚洲女同女同女同女同女同69| 26uuu欧美日本| 精品国产乱码久久久久久浪潮 | 婷婷激情综合网| 日韩在线一二三区| 蜜桃久久av一区| 久久av老司机精品网站导航| 九九热在线视频观看这里只有精品| 国产 日韩 欧美大片| 韩国女主播成人在线| 国产麻豆欧美日韩一区| 久久91精品国产91久久小草| 美女高潮久久久| 国产福利一区二区三区视频在线| 国产成人免费在线视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日本在线观看不卡视频| 狠狠色狠狠色综合日日91app| 狠狠色2019综合网| 福利一区二区在线| 91亚洲精品久久久蜜桃网站| 91官网在线观看| 日韩欧美精品在线视频| 国产亚洲一本大道中文在线| 亚洲丝袜制服诱惑| 亚洲国产va精品久久久不卡综合| 日韩高清国产一区在线| 久久99热99| 国产伦精品一区二区三区免费| 成人综合婷婷国产精品久久| 91麻豆高清视频| 欧美日韩激情一区二区| 精品久久人人做人人爽| 国产精品色哟哟| 亚洲高清免费在线| 国产美女在线精品| 欧美性色欧美a在线播放| 欧美一区二区免费| 国产精品久久久久影视| 舔着乳尖日韩一区| 国产成人午夜片在线观看高清观看| 色偷偷久久人人79超碰人人澡| 欧美一区二区精品久久911| 国产欧美日韩在线| 亚洲第一主播视频| 大胆欧美人体老妇| 欧美高清视频不卡网| 久久精品人人做| 亚洲成人动漫av| 国产91在线观看丝袜| 欧美三级日韩三级国产三级| 337p粉嫩大胆色噜噜噜噜亚洲| 中文字幕综合网| 久久精品久久综合| 日本高清不卡aⅴ免费网站| 2020日本不卡一区二区视频| 亚洲国产欧美日韩另类综合| 成人在线一区二区三区| 制服丝袜日韩国产| 亚洲美女视频在线| 国产一区二区电影| 91精品国产高清一区二区三区蜜臀| 国产精品久久看| 国内外成人在线| 在线不卡欧美精品一区二区三区| 国产精品三级av在线播放| 精品一区二区在线观看| 欧美日韩国产美| 亚洲精品老司机| 成人毛片在线观看| 国产亚洲人成网站| 久久99精品一区二区三区三区| 欧美性欧美巨大黑白大战| 亚洲欧美在线视频| 国产精品自拍av| 日韩精品在线一区| 香港成人在线视频| 在线影院国内精品| 亚洲情趣在线观看| 99re亚洲国产精品| 国产婷婷色一区二区三区四区 | 色94色欧美sute亚洲13| 国产精品情趣视频| 国产精品羞羞答答xxdd| 精品久久久久久久久久久久久久久| 亚洲一区二区在线视频| 色综合网色综合| 中文字幕高清一区| 国产精品一级黄| 久久影视一区二区| 久久99精品国产麻豆不卡| 欧美日本不卡视频| 肉丝袜脚交视频一区二区| 欧美日韩视频第一区| 亚洲bt欧美bt精品777| 欧美色综合网站| 亚洲国产日韩一级| 欧美日韩在线播放三区四区| 亚洲一区二区三区激情| 欧美日韩国产一区二区三区地区| 一卡二卡三卡日韩欧美| 欧洲av在线精品| 亚洲国产一二三| 欧美日韩视频一区二区| 亚洲成人激情综合网| 欧美一三区三区四区免费在线看| 图片区小说区区亚洲影院| 欧美电影一区二区| 免费看黄色91| 国产亚洲综合av| 成人免费视频视频在线观看免费 | 亚洲激情综合网| 欧美日韩三级在线| 日韩成人dvd| 久久理论电影网| 99精品热视频| 亚洲综合成人在线| 日韩三级视频在线观看| 久久99久久99小草精品免视看| 国产婷婷色一区二区三区四区 | 国产精品久久久久毛片软件| 99re这里只有精品首页| 午夜在线成人av| 日韩三级免费观看| 国产成人精品亚洲777人妖| 成人欧美一区二区三区1314| 欧美系列日韩一区| 精品一区二区久久久| 中文字幕av资源一区| 91成人国产精品| 美女任你摸久久| 亚洲国产精品成人综合色在线婷婷| 91一区二区在线观看| 日韩高清一区二区| 中文字幕欧美激情| 欧美性猛片aaaaaaa做受| 久久国产成人午夜av影院| 国产欧美1区2区3区| 欧美吻胸吃奶大尺度电影 | 91.com视频| 国产v综合v亚洲欧| 亚洲午夜国产一区99re久久| 欧美成人a在线| 91欧美激情一区二区三区成人| 午夜一区二区三区视频| 日本一区二区免费在线观看视频| 欧美无人高清视频在线观看| 国产剧情在线观看一区二区| 亚洲精品国产a久久久久久| 欧美不卡一区二区三区| 色综合天天综合网天天狠天天| 青草国产精品久久久久久| 国产精品久久久久久亚洲毛片| 在线观看91av| 91蜜桃网址入口| 国产精品一二三区| 日韩va亚洲va欧美va久久| 中文字幕视频一区二区三区久| 欧美高清你懂得| 色综合久久88色综合天天| 国模冰冰炮一区二区| 亚州成人在线电影| 亚洲视频在线观看一区| 久久蜜臀中文字幕| 制服.丝袜.亚洲.中文.综合| 99精品国产热久久91蜜凸| 国产在线播精品第三| 日韩精品91亚洲二区在线观看| 18成人在线观看| 久久久青草青青国产亚洲免观| 91精品国模一区二区三区| 色婷婷综合久久久久中文| 粉嫩蜜臀av国产精品网站| 麻豆精品新av中文字幕| 香蕉成人伊视频在线观看| 亚洲六月丁香色婷婷综合久久 | 亚洲一区中文在线| 亚洲欧洲精品一区二区精品久久久| 欧美成人在线直播| 欧美一级在线观看| 欧美日韩亚洲另类| 91精品福利视频| 91色porny| 99国产欧美久久久精品| 成人深夜福利app| 国产传媒日韩欧美成人| 狠狠v欧美v日韩v亚洲ⅴ| 捆绑紧缚一区二区三区视频| 青青草国产成人av片免费| 日韩精品一级中文字幕精品视频免费观看 | 国产精品国产三级国产aⅴ原创| 精品国产欧美一区二区| 日韩午夜激情av| 日韩一区二区三区免费观看| 欧美精品三级日韩久久| 欧美三级视频在线播放| 欧美三级三级三级爽爽爽|