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

📄 lds_db.hpp

📁 ncbi源码
💻 HPP
字号:
/* * =========================================================================== * PRODUCTION $Log: lds_db.hpp,v $ * PRODUCTION Revision 1000.1  2004/04/12 17:35:01  gouriano * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.14 * PRODUCTION * =========================================================================== */#ifndef LDS_DB_HPP__#define LDS_DB_HPP__/*  $Id: lds_db.hpp,v 1000.1 2004/04/12 17:35:01 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Author: Anatoliy Kuznetsov * * File Description:   Local data storage, database description. * */#include <bdb/bdb_file.hpp>BEGIN_NCBI_SCOPEBEGIN_SCOPE(objects)struct NCBI_LDS_EXPORT SLDS_FileDB : public CBDB_File{    CBDB_FieldInt4     file_id;    CBDB_FieldString   file_name;    CBDB_FieldInt4     format;    CBDB_FieldInt4     time_stamp;    CBDB_FieldInt4     CRC;    CBDB_FieldInt4     file_size;       SLDS_FileDB();};struct NCBI_LDS_EXPORT SLDS_AnnotDB : public CBDB_File{    CBDB_FieldInt4    annot_id;    CBDB_FieldInt4    file_id;    CBDB_FieldInt4    annot_type;    CBDB_FieldInt4    file_offset;    CBDB_FieldInt4    top_level_id;    SLDS_AnnotDB();};struct NCBI_LDS_EXPORT SLDS_SeqId_List : public CBDB_File{    CBDB_FieldInt4    object_id;    CBDB_FieldString  seq_id;    SLDS_SeqId_List();};struct NCBI_LDS_EXPORT SLDS_ObjectTypeDB : public CBDB_File{    CBDB_FieldInt4    object_type;    CBDB_FieldString  type_name;    SLDS_ObjectTypeDB();};struct NCBI_LDS_EXPORT SLDS_ObjectDB : public CBDB_File{    CBDB_FieldInt4    object_id;    CBDB_FieldInt4    file_id;     CBDB_FieldString  primary_seqid;    CBDB_FieldInt4    seqlist_id;     CBDB_FieldInt4    object_type;    CBDB_FieldInt4    file_offset;    CBDB_FieldInt4    TSE_object_id;     // TOP level seq entry object id    CBDB_FieldInt4    parent_object_id;  // Parent SeqEntry object id    CBDB_FieldString  object_title;    CBDB_FieldString  organism;    CBDB_FieldString  keywords;    CBDB_FieldString  seq_ids;    SLDS_ObjectDB();};struct NCBI_LDS_EXPORT SLDS_Annot2ObjectDB : public CBDB_File{    CBDB_FieldInt4  object_id;    CBDB_FieldInt4  annot_id;    SLDS_Annot2ObjectDB();};////////////////////////////////////////////////////////////////////// // Structure puts together all tables used in LDS//struct NCBI_LDS_EXPORT SLDS_TablesCollection{    SLDS_FileDB          file_db;    SLDS_ObjectTypeDB    object_type_db;    SLDS_ObjectDB        object_db;    SLDS_AnnotDB         annot_db;    SLDS_Annot2ObjectDB  annot2obj_db;    SLDS_SeqId_List      seq_id_list;};///////////////////////////////////////////////////////////////////////////////  IMPLEMENTATION of INLINE functions/////////////////////////////////////////////////////////////////////////////inline SLDS_FileDB::SLDS_FileDB(){    BindKey("file_id", &file_id);    BindData("file_name", &file_name, 2048);    BindData("format", &format);    BindData("time_stamp", &time_stamp, 64);    BindData("CRC", &CRC);    BindData("file_size", &file_size);}inline SLDS_AnnotDB::SLDS_AnnotDB(){    BindKey("annot_id", &annot_id);    BindData("file_id", &file_id);    BindData("annot_type", &annot_type);    BindData("file_offset", &file_offset);    BindData("top_level_id", &top_level_id);}inlineSLDS_SeqId_List::SLDS_SeqId_List(): CBDB_File(CBDB_File::eDuplicatesEnable){    BindKey("object_id", &object_id);    BindData("seq_id", &seq_id);}inline SLDS_ObjectTypeDB::SLDS_ObjectTypeDB(){    BindKey("object_type", &object_type);    BindData("type_name",  &type_name);}inline SLDS_ObjectDB::SLDS_ObjectDB(){    BindKey("object_id", &object_id);    BindData("file_id", &file_id);    BindData("primary_seqid", &primary_seqid);    BindData("seqlist_id", &seqlist_id);    BindData("object_type", &object_type);    BindData("file_offset", &file_offset);    BindData("TSE_object_id", &TSE_object_id);    BindData("parent_object_id", &parent_object_id);    BindData("object_title", &object_title, 1024, eNullable);    BindData("organism", &organism, 256, eNullable);    BindData("keywords", &keywords, 2048, eNullable);    BindData("seq_ids", &seq_ids, 65536, eNullable);}inline SLDS_Annot2ObjectDB::SLDS_Annot2ObjectDB(){    BindKey("object_id", &object_id);    BindKey("annot_id", &annot_id);}END_SCOPE(objects)END_NCBI_SCOPE/** ===========================================================================* $Log: lds_db.hpp,v $* Revision 1000.1  2004/04/12 17:35:01  gouriano* PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.14** Revision 1.14  2004/03/17 17:20:59  kuznets* Code clean up** Revision 1.13  2004/03/09 17:16:32  kuznets* Merge object attributes with objects** Revision 1.12  2003/10/08 18:11:33  kuznets* Increased length of "object_title" field** Revision 1.11  2003/07/09 19:27:59  kuznets* Added Sequence id list table.** Revision 1.10  2003/06/27 14:37:22  kuznets* Fixed comilation problem** Revision 1.9  2003/06/13 15:59:05  kuznets* Added space separated list of all sequence ids (object attributes)** Revision 1.8  2003/06/04 16:33:32  kuznets* Increased length of object_title field in SLDS_ObjectAttrDB** Revision 1.7  2003/06/03 19:14:02  kuznets* Added lds dll export/import specifications** Revision 1.6  2003/05/30 20:26:33  kuznets* Fixed field binding in "objects"** Revision 1.5  2003/05/30 14:05:39  kuznets* Added primary_seqid field to the objects table.** Revision 1.4  2003/05/23 20:33:33  kuznets* Bulk changes in lds library, code reorganizations, implemented top level* objects read, metainformation persistance implemented for top level objects...** Revision 1.3  2003/05/23 18:21:21  kuznets* +SLDS_TablesCollection** Revision 1.2  2003/05/22 19:11:35  kuznets* +SLDS_ObjectTypeDB** Revision 1.1  2003/05/22 13:24:45  kuznets* Initial revision*** ===========================================================================*/#endif

⌨️ 快捷键说明

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