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

📄 item_base.hpp

📁 ncbi源码
💻 HPP
字号:
/* * =========================================================================== * PRODUCTION $Log: item_base.hpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 19:39:44  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.5 * PRODUCTION * =========================================================================== */#ifndef OBJTOOLS_FORMAT_ITEMS___ITEM_BASE_ITEM__HPP#define OBJTOOLS_FORMAT_ITEMS___ITEM_BASE_ITEM__HPP/*  $Id: item_base.hpp,v 1000.1 2004/06/01 19:39:44 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:  Aaron Ucko, NCBI*          Mati Shomrat** File Description:*   Base class for the various item objects**/#include <corelib/ncbistd.hpp>#include <serial/serialbase.hpp>#include <objtools/format/items/item.hpp>//#include <objtools/format/context.hpp>BEGIN_NCBI_SCOPEBEGIN_SCOPE(objects)class CBioseqContext;class CFlatItem : public IFlatItem{public:    virtual void Format(IFormatter& formatter,                        IFlatTextOStream& text_os) const = 0;    bool IsSetObject(void) const;    const CSerialObject* GetObject(void) const;    CBioseqContext* GetContext(void);    CBioseqContext* GetContext(void) const;    // should this item be skipped during formatting?    bool Skip(void) const;    ~CFlatItem(void);protected:    CFlatItem(CBioseqContext* ctx = 0);    virtual void x_GatherInfo(CBioseqContext&) {}    void x_SetObject(const CSerialObject& obj);    void x_SetContext(CBioseqContext& ctx);    void x_SetSkip(void);private:    // The underlying CSerialObject from the information is obtained.    CConstRef<CSerialObject>    m_Object;    // a context associated with this item    CBioseqContext*             m_Context;    // should this item be skipped?    bool                        m_Skip;};//////////////////////////////////////////////////////////////////////////////// inline methods /////////////////////////////////////////////////////////////////////////////////// public methodsinlineconst CSerialObject* CFlatItem::GetObject(void) const{    return m_Object;}inlinebool CFlatItem::IsSetObject(void) const{    return m_Object; }inlineCBioseqContext* CFlatItem::GetContext(void){    return m_Context;}inlineCBioseqContext* CFlatItem::GetContext(void) const{    return m_Context;}inlinebool CFlatItem::Skip(void) const{    return m_Skip;}inlineCFlatItem::~CFlatItem(void){}// protected methods:// constructorinlineCFlatItem::CFlatItem(CBioseqContext* ctx) :    m_Object(0),    m_Context(ctx),    m_Skip(false){}// Shared utility functionsinlinevoid CFlatItem::x_SetObject(const CSerialObject& obj) {    m_Object.Reset(&obj);}inlinevoid CFlatItem::x_SetSkip(void){    m_Skip = true;    m_Object.Reset();    m_Context = 0;}///////////////////////////////////////////////////////////////////////////// end of inline methods /////////////////////////////////////////////////////////////////////////////END_SCOPE(objects)END_NCBI_SCOPE/** ===========================================================================** $Log: item_base.hpp,v $* Revision 1000.1  2004/06/01 19:39:44  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.5** Revision 1.5  2004/04/22 15:37:04  shomrat* Changes in context** Revision 1.4  2004/02/12 20:21:00  shomrat* using pointer instead of CRef** Revision 1.3  2004/02/11 16:34:43  shomrat* inlined implementation** Revision 1.2  2003/12/18 17:42:18  shomrat* context.hpp moved** Revision 1.1  2003/12/17 19:48:27  shomrat* Initial revision (adapted from flat lib)*** ===========================================================================*/#endif  /* OBJTOOLS_FORMAT_ITEMS___ITEM_BASE_ITEM__HPP */

⌨️ 快捷键说明

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