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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? code.cpp

?? ncbi源碼
?? CPP
字號:
/* * =========================================================================== * PRODUCTION $Log: code.cpp,v $ * PRODUCTION Revision 1000.2  2004/06/01 19:42:37  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.43 * PRODUCTION * =========================================================================== *//*  $Id: code.cpp,v 1000.2 2004/06/01 19:42:37 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: Eugene Vasilchenko** File Description:*   Class code generator** ---------------------------------------------------------------------------* $Log: code.cpp,v $* Revision 1000.2  2004/06/01 19:42:37  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.43** Revision 1.43  2004/05/17 21:03:13  gorelenk* Added include of PCH ncbi_pch.hpp** Revision 1.42  2004/05/03 19:31:03  gouriano* Made generation of DOXYGEN-style comments optional** Revision 1.41  2004/04/29 20:11:39  gouriano* Generate DOXYGEN-style comments in C++ headers** Revision 1.40  2004/03/26 14:41:48  dicuccio* Deleted dead code** Revision 1.39  2003/03/11 20:06:47  kuznets* iterate -> ITERATE** Revision 1.38  2002/12/31 20:14:24  gouriano* corrected usage of export specifiers when generating C++ classes** Revision 1.37  2002/12/23 18:40:07  dicuccio* Added new command-line option: -oex <export-specifier> for adding WIn32 export* specifiers to generated objects.** Revision 1.36  2002/08/14 17:14:25  grichenk* Fixed function name conflict on Win32: renamed* GetClassName() -> GetClassNameDT()** Revision 1.35  2001/05/17 15:07:11  lavr* Typos corrected** Revision 1.34  2000/11/29 17:42:43  vasilche* Added CComment class for storing/printing ASN.1/XML module comments.* Added srcutil.hpp file to reduce file dependency.** Revision 1.33  2000/11/01 20:38:59  vasilche* OPTIONAL and DEFAULT are not permitted in CHOICE.* Fixed code generation for DEFAULT.** Revision 1.32  2000/08/25 15:59:20  vasilche* Renamed directory tool -> datatool.** Revision 1.31  2000/04/17 19:11:08  vasilche* Fixed failed assertion.* Removed redundant namespace specifications.** Revision 1.30  2000/04/12 15:36:50  vasilche* Added -on <namespace> argument to datatool.* Removed unnecessary namespace specifications in generated files.** Revision 1.29  2000/04/07 19:26:25  vasilche* Added namespace support to datatool.* By default with argument -oR datatool will generate objects in namespace* NCBI_NS_NCBI::objects (aka ncbi::objects).* Datatool's classes also moved to NCBI namespace.** Revision 1.28  2000/03/07 20:05:00  vasilche* Added NewInstance method to generated classes.** Revision 1.27  2000/03/07 14:06:31  vasilche* Added generation of reference counted objects.** Revision 1.26  2000/02/17 20:05:06  vasilche* Inline methods now will be generated in *_Base.inl files.* Fixed processing of StringStore.* Renamed in choices: Selected() -> Which(), E_choice -> E_Choice.* Enumerated values now will preserve case as in ASN.1 definition.** Revision 1.25  2000/02/01 21:47:56  vasilche* Added CGeneratedChoiceTypeInfo for generated choice classes.* Removed CMemberInfo subclasses.* Added support for DEFAULT/OPTIONAL members.* Changed class generation.* Moved datatool headers to include/internal/serial/tool.** Revision 1.24  2000/01/11 16:59:02  vasilche* Changed macros generation for compilation on MS VC.** Revision 1.23  1999/12/01 17:36:25  vasilche* Fixed CHOICE processing.** Revision 1.22  1999/11/18 17:13:06  vasilche* Fixed generation of ENUMERATED CHOICE and VisibleString.* Added generation of initializers to zero for primitive types and pointers.** Revision 1.21  1999/11/15 19:36:13  vasilche* Fixed warnings on GCC** ===========================================================================*/#include <ncbi_pch.hpp>#include <serial/datatool/code.hpp>#include <serial/datatool/type.hpp>#include <serial/datatool/srcutil.hpp>BEGIN_NCBI_SCOPEstring    CClassCode::sm_ExportSpecifier;bool      CClassCode::sm_DoxygenComments=false;string    CClassCode::sm_DoxygenGroup;string    CClassCode::sm_DocRootURL;CClassContext::~CClassContext(void){}CClassCode::CClassCode(CClassContext& owner, const string& className)    : m_Code(owner),      m_ClassName(className),      m_VirtualDestructor(false){}CClassCode::~CClassCode(void){    {        CNcbiOstrstream hpp;        GenerateHPP(hpp);        m_Code.AddHPPCode(hpp);    }    {        CNcbiOstrstream inl;        GenerateINL(inl);        m_Code.AddINLCode(inl);    }    {        CNcbiOstrstream cpp;        GenerateCPP(cpp);        m_Code.AddCPPCode(cpp);    }}void CClassCode::SetExportSpecifier(const string& str){    sm_ExportSpecifier = str;}const string& CClassCode::GetExportSpecifier(void){    return sm_ExportSpecifier;}void CClassCode::SetDoxygenComments(bool set){    sm_DoxygenComments = set;}bool CClassCode::GetDoxygenComments(void){    return sm_DoxygenComments;}void CClassCode::SetDoxygenGroup(const string& str){    sm_DoxygenGroup = str;}const string& CClassCode::GetDoxygenGroup(void){    return sm_DoxygenGroup;}void CClassCode::SetDocRootURL(const string& str){    sm_DocRootURL = str;}const string& CClassCode::GetDocRootURL(void){    return sm_DocRootURL;}const CNamespace& CClassCode::GetNamespace(void) const{    return m_Code.GetNamespace();}void CClassCode::AddHPPCode(const CNcbiOstrstream& code){    WriteTabbed(m_ClassPublic, code);}void CClassCode::AddINLCode(const CNcbiOstrstream& code){    Write(m_InlineMethods, code);}void CClassCode::AddCPPCode(const CNcbiOstrstream& code){    Write(m_Methods, code);}string CClassCode::GetMethodPrefix(void) const{    return m_Code.GetMethodPrefix() + GetClassNameDT() + "::";}bool CClassCode::InternalClass(void) const{    return !m_Code.GetMethodPrefix().empty();}CClassCode::TIncludes& CClassCode::HPPIncludes(void){    return m_Code.HPPIncludes();}CClassCode::TIncludes& CClassCode::CPPIncludes(void){    return m_Code.CPPIncludes();}void CClassCode::SetParentClass(const string& className,                                const CNamespace& ns){    m_ParentClassName = className;    m_ParentClassNamespace = ns;}void CClassCode::AddForwardDeclaration(const string& s, const CNamespace& ns){    m_Code.AddForwardDeclaration(s, ns);}bool CClassCode::HaveInitializers(void) const{    return !Empty(m_Initializers);}void CClassCode::AddInitializer(const string& member, const string& init){    if ( init.empty() )        return;    if ( HaveInitializers() )        m_Initializers << ", ";    m_Initializers << member << '(' << init << ')';}void CClassCode::AddDestructionCode(const string& code){    if ( code.empty() )        return;    m_DestructionCode.push_front(code);}CNcbiOstream& CClassCode::WriteInitializers(CNcbiOstream& out) const{    return Write(out, m_Initializers);}CNcbiOstream& CClassCode::WriteDestructionCode(CNcbiOstream& out) const{    ITERATE ( list<string>, i, m_DestructionCode ) {        WriteTabbed(out, *i);    }    return out;}CNcbiOstream& CClassCode::GenerateHPP(CNcbiOstream& header) const{    header <<        "/////////////////////////////////////////////////////////////////////////////\n";    if (CClassCode::GetDoxygenComments()) {        header <<            "///\n"            "/// " << GetClassNameDT() << " --\n"            "///\n\n";    }    header << "class ";    if ( !GetExportSpecifier().empty() )        header << CClassCode::GetExportSpecifier() << " ";    header << GetClassNameDT();    string parentNamespaceRef;    if ( !GetParentClassName().empty() ) {        parentNamespaceRef =            GetNamespace().GetNamespaceRef(GetParentClassNamespace());        header << " : public "<<parentNamespaceRef<<GetParentClassName();    }    header <<        "\n"        "{\n";    if ( !GetParentClassName().empty() ) {        header <<            "    typedef "<<parentNamespaceRef<<GetParentClassName()<<" Tparent;\n";    }    header <<        "public:\n";    Write(header, m_ClassPublic);    if ( !Empty(m_ClassProtected) ) {        header <<             "\n"            "protected:\n";        Write(header, m_ClassProtected);    }    if ( !Empty(m_ClassPrivate) ) {        header <<             "\n"            "private:\n";        Write(header, m_ClassPrivate);    }    header <<        "};\n";    return header;}CNcbiOstream& CClassCode::GenerateINL(CNcbiOstream& code) const{    Write(code, m_InlineMethods);    return code;}CNcbiOstream& CClassCode::GenerateCPP(CNcbiOstream& code) const{    Write(code, m_Methods);    code << "\n";    return code;}CNcbiOstream& CClassCode::GenerateUserHPP(CNcbiOstream& header) const{    if ( InternalClass() ) {        return header;    }    header << "class ";    if ( !GetExportSpecifier().empty() )        header << CClassCode::GetExportSpecifier() << " ";    header << GetClassNameDT()<<" : public "<<GetClassNameDT()<<"_Base\n"        "{\n"        "public:\n"        "    "<<GetClassNameDT()<<"();\n"        "    "<<'~'<<GetClassNameDT()<<"();\n"        "\n"        "};\n";    return header;}CNcbiOstream& CClassCode::GenerateUserCPP(CNcbiOstream& code) const{    if ( InternalClass() ) {        return code;    }    code <<        GetClassNameDT()<<"::"<<GetClassNameDT()<<"()\n"        "{\n"        "}\n"        "\n"         <<GetClassNameDT()<<"::~"<<GetClassNameDT()<<"()\n"        "{\n"        "}\n"        "\n";    return code;}END_NCBI_SCOPE

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久免费的精品国产v∧| 一区免费观看视频| 99热这里都是精品| 蜜桃精品在线观看| 樱花草国产18久久久久| 精品99999| 欧美丰满少妇xxxxx高潮对白| 国产传媒一区在线| 麻豆久久久久久久| 亚洲高清免费观看高清完整版在线观看| 久久综合精品国产一区二区三区 | 性做久久久久久免费观看| 国产日产欧美一区二区视频| 欧美一级在线视频| 欧美四级电影在线观看| 97se亚洲国产综合自在线不卡| 国产一区在线精品| 韩日av一区二区| 免费观看30秒视频久久| 亚洲成人av福利| 亚洲欧美日本在线| 欧美国产日本视频| 久久精品夜色噜噜亚洲a∨| 日韩一区国产二区欧美三区| 欧美乱妇一区二区三区不卡视频| 91久久精品一区二区二区| 99re6这里只有精品视频在线观看| 国产精品99久久久久久似苏梦涵 | 欧美mv日韩mv亚洲| 日韩视频中午一区| 欧美精品久久一区二区三区| 欧美丝袜丝交足nylons| 欧美三级日韩三级国产三级| 色域天天综合网| 91麻豆福利精品推荐| 色综合中文字幕| 99re热这里只有精品视频| 不卡av在线免费观看| 不卡一区中文字幕| aaa亚洲精品| 日本精品一区二区三区高清| 91福利视频在线| 欧美性xxxxx极品少妇| 欧美理论片在线| 51精品视频一区二区三区| 91精品国产综合久久福利| 日韩午夜在线影院| 久久精品一区二区三区不卡| 国产亚洲一区二区三区四区| 中文字幕精品一区二区精品绿巨人 | 欧美乱妇15p| 欧美一区二区三区精品| 日韩欧美三级在线| 久久久三级国产网站| 中文字幕精品一区| 亚洲精品伦理在线| 午夜免费久久看| 久久99国产精品久久| 国产精品一级二级三级| 成人v精品蜜桃久久一区| 色8久久精品久久久久久蜜| 欧美日韩国产影片| 精品国产免费视频| 国产精品麻豆网站| 天堂在线亚洲视频| 精品在线播放免费| 91亚洲男人天堂| 欧美日韩国产电影| 久久久久久一二三区| 亚洲日本青草视频在线怡红院 | 亚洲美女免费视频| 日韩电影在线观看网站| 国产麻豆视频一区二区| 色综合一区二区| 日韩一区二区三区四区| 中文av一区二区| 天堂av在线一区| 东方欧美亚洲色图在线| 精品视频在线免费| 国产欧美一区二区精品性色超碰| 亚洲精品日日夜夜| 国产一区二区在线视频| 在线观看91精品国产入口| 欧美精品一区二区三区在线| 亚洲最新视频在线观看| 激情综合网天天干| 欧亚洲嫩模精品一区三区| 精品裸体舞一区二区三区| 国产精品色噜噜| 婷婷国产v国产偷v亚洲高清| 成人免费看视频| 日韩欧美国产一二三区| 亚洲人快播电影网| 国产一区二区剧情av在线| 欧美日韩免费不卡视频一区二区三区| 2023国产精华国产精品| 亚洲a一区二区| av在线不卡电影| 精品国产百合女同互慰| 亚洲444eee在线观看| 91麻豆精品在线观看| 国产丝袜欧美中文另类| 久久精品国产色蜜蜜麻豆| 色哟哟欧美精品| 亚洲国产电影在线观看| 美女高潮久久久| 欧美日韩亚洲综合一区二区三区| 国产精品久久久久久久久搜平片 | 全部av―极品视觉盛宴亚洲| 色综合天天综合在线视频| 国产亚洲精品资源在线26u| 日本不卡高清视频| 欧美日韩在线播| 亚洲最大色网站| 色婷婷亚洲一区二区三区| 国产精品女同一区二区三区| 九色综合国产一区二区三区| 欧美一区二区成人6969| 日韩经典中文字幕一区| 欧美性三三影院| 一区二区三区四区精品在线视频| 不卡视频一二三四| 中文成人av在线| 成人18视频日本| 国产精品国产三级国产专播品爱网 | 蜜桃av一区二区| 91麻豆精品国产| 三级亚洲高清视频| 欧美精品自拍偷拍动漫精品| 亚洲午夜羞羞片| 欧美三级欧美一级| 午夜久久久久久久久| 欧美久久一二区| 久久精品国产久精国产爱| 日韩网站在线看片你懂的| 蜜桃精品视频在线观看| 欧美tickling网站挠脚心| 久久99久久精品| 久久久久久麻豆| 成人国产精品免费观看| 国产精品乱人伦一区二区| 99久久er热在这里只有精品15 | 99re视频精品| 亚洲精品欧美激情| 欧美肥胖老妇做爰| 免费人成在线不卡| 精品福利av导航| 成人一区二区三区视频在线观看 | 久久久精品tv| 懂色av中文字幕一区二区三区| 国产精品久久久久久久久搜平片| 91一区一区三区| 午夜欧美2019年伦理| 日韩美一区二区三区| 欧美午夜在线观看| 偷拍亚洲欧洲综合| 欧美成人高清电影在线| 国产成人一级电影| 亚洲视频一二三区| 这里只有精品免费| 国产精品一区专区| 亚洲欧美另类久久久精品| 欧美日韩卡一卡二| 美日韩一级片在线观看| 中文文精品字幕一区二区| 色天使色偷偷av一区二区| 日本成人在线看| 亚洲国产精品成人综合色在线婷婷| 99精品黄色片免费大全| 偷拍与自拍一区| 亚洲国产精品成人综合色在线婷婷| 欧美在线影院一区二区| 韩国欧美一区二区| 亚洲一区精品在线| 久久久久久久久久久久久夜| 91一区二区三区在线观看| 强制捆绑调教一区二区| 国产欧美一区二区精品忘忧草| 欧美在线播放高清精品| 国产一区二区三区最好精华液| ...中文天堂在线一区| 91精品国产综合久久福利| 成人精品高清在线| 免费在线一区观看| 亚洲欧美偷拍卡通变态| 91麻豆精品国产无毒不卡在线观看| 丁香激情综合五月| 日本亚洲一区二区| 成人欧美一区二区三区视频网页 | 在线国产亚洲欧美| 国产69精品久久777的优势| 性久久久久久久| 国产精品进线69影院| 精品国产乱码久久久久久蜜臀| 一本高清dvd不卡在线观看| 国产乱对白刺激视频不卡| 亚洲高清久久久| 亚洲精品中文在线| 欧美激情中文不卡| 精品久久久久香蕉网|