当前位置: 首页>>代码示例>>C++>>正文


C++ TagEntryPtr::IsConstructor方法代码示例

本文整理汇总了C++中TagEntryPtr::IsConstructor方法的典型用法代码示例。如果您正苦于以下问题:C++ TagEntryPtr::IsConstructor方法的具体用法?C++ TagEntryPtr::IsConstructor怎么用?C++ TagEntryPtr::IsConstructor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TagEntryPtr的用法示例。


在下文中一共展示了TagEntryPtr::IsConstructor方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DoGetVirtualFuncDecl

wxString WizardsPlugin::DoGetVirtualFuncDecl(const NewClassInfo &info, const wxString& separator)
{
    if (info.implAllVirtual == false && info.implAllPureVirtual == false)
        return wxEmptyString;

    //get list of all parent virtual functions
    std::vector< TagEntryPtr > tmp_tags;
    std::vector< TagEntryPtr > no_dup_tags;
    std::vector< TagEntryPtr > tags;
    for (std::vector< TagEntryPtr >::size_type i=0; i< info.parents.size(); i++) {
        ClassParentInfo pi = info.parents.at(i);

        // Load all prototypes / functions of the parent scope
        m_mgr->GetTagsManager()->TagsByScope(pi.name, wxT("prototype"), tmp_tags, false);
        m_mgr->GetTagsManager()->TagsByScope(pi.name, wxT("function"),  tmp_tags, false);
    }

    // and finally sort the results
    std::sort(tmp_tags.begin(), tmp_tags.end(), ascendingSortOp());
    GizmosRemoveDuplicates(tmp_tags, no_dup_tags);

    //filter out all non virtual functions
    for (std::vector< TagEntryPtr >::size_type i=0; i< no_dup_tags.size(); i++) {
        TagEntryPtr tt = no_dup_tags.at(i);

        // Skip c-tors/d-tors
        if(tt->IsDestructor() || tt->IsConstructor())
            continue;

        if (info.implAllVirtual && m_mgr->GetTagsManager()->IsVirtual(tt)) {
            tags.push_back(tt);

        } else if (info.implAllPureVirtual && m_mgr->GetTagsManager()->IsPureVirtual(tt)) {
            tags.push_back(tt);
        }
    }

    wxString decl;
    for (std::vector< TagEntryPtr >::size_type i=0; i< tags.size(); i++) {
        TagEntryPtr tt = tags.at(i);
        wxString ff = m_mgr->GetTagsManager()->FormatFunction(tt);

        if (info.isInline) {
            wxString braces;
            braces << wxT('\n') << separator << wxT("{\n") << separator << wxT("}");
            ff.Replace (wxT(";"), braces);
        }

        decl << separator << ff;
    }
    return decl;
}
开发者ID:HTshandou,项目名称:codelite,代码行数:52,代码来源:gizmos.cpp

示例2: DoGetVirtualFuncImpl

wxString WizardsPlugin::DoGetVirtualFuncImpl(const NewClassInfo &info)
{
    if (info.implAllVirtual == false && info.implAllPureVirtual == false)
        return wxEmptyString;

    //get list of all parent virtual functions
    std::vector< TagEntryPtr > tmp_tags;
    std::vector< TagEntryPtr > no_dup_tags;
    std::vector< TagEntryPtr > tags;
    for (std::vector< TagEntryPtr >::size_type i=0; i< info.parents.size(); i++) {
        ClassParentInfo pi = info.parents.at(i);

        // Load all prototypes / functions of the parent scope
        m_mgr->GetTagsManager()->TagsByScope(pi.name, wxT("prototype"), tmp_tags, false);
        m_mgr->GetTagsManager()->TagsByScope(pi.name, wxT("function"),  tmp_tags, false);
    }

    // and finally sort the results
    std::sort(tmp_tags.begin(), tmp_tags.end(), ascendingSortOp());
    GizmosRemoveDuplicates(tmp_tags, no_dup_tags);

    //filter out all non virtual functions
    for (std::vector< TagEntryPtr >::size_type i=0; i< no_dup_tags.size(); i++) {
        TagEntryPtr tt = no_dup_tags.at(i);
        bool collect(false);
        if (info.implAllVirtual) {
            collect = m_mgr->GetTagsManager()->IsVirtual(tt);
        } else if (info.implAllPureVirtual) {
            collect = m_mgr->GetTagsManager()->IsPureVirtual(tt);
        }

        if (collect) {
            tags.push_back(tt);
        }
    }

    wxString impl;
    for (std::vector< TagEntryPtr >::size_type i=0; i< tags.size(); i++) {
        TagEntryPtr tt = tags.at(i);
        // we are not interested in Ctor-Dtor
        if ( tt->IsConstructor() || tt->IsDestructor() )
            continue;
        impl << m_mgr->GetTagsManager()->FormatFunction(tt, FunctionFormat_Impl, info.name);
    }
    return impl;
}
开发者ID:HTshandou,项目名称:codelite,代码行数:46,代码来源:gizmos.cpp


注:本文中的TagEntryPtr::IsConstructor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。