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


C++ smart_ptr::get方法代码示例

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


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

示例1:

template<class T, class U> inline bool operator!=(smart_ptr<T> & a, smart_ptr<U> & b)

{

return a.get() != b.get();

}
开发者ID:perry2008084,项目名称:TestCPP,代码行数:7,代码来源:Smart_Ptr.cpp

示例2: swap

inline void swap (smart_ptr<T> &pt, 
                  smart_ptr<T> &pt2)
{  
   typename smart_ptr<T>::value_type *ptr = pt.get();
   pt = pt2;
   pt2 = ptr;
}
开发者ID:Ruinland,项目名称:boost-doc-zh,代码行数:7,代码来源:smart_ptr.hpp

示例3:

inline std::ptrdiff_t operator- (const smart_ptr<T> &pt, const smart_ptr<T2> &pt2)
{  return pt.get()- pt2.get();   }
开发者ID:Ruinland,项目名称:boost-doc-zh,代码行数:2,代码来源:smart_ptr.hpp

示例4: uiRunExe

bool uiRunExe(wxFrame* parent,const wxString& path,const wxString& labelOutput, wxWindow* progressDialog,smart_ptr<InterfLogger> extLogger)
{
    _("Elapsed time : ");
    _("Remaining time : ");
    _("Close");
    _("Cancel");
    _("unknown");
    wxProgressDialog * progDialog=wxDynamicCast(progressDialog,wxProgressDialog);
    bool hasOutput=true;
    processManager* process = new processManager(parent,path);
    if(extLogger.get()!=NULL)
        process->AddLogger(extLogger);

    wxLogInfo(_("Execution d'un programme externe :"));
    wxLogInfo(path);

    int processId=wxExecute(path,wxEXEC_ASYNC,process);
    if(!processId)
    {
        wxLogInfo("L'execution du programme a échoué");
        delete process;
        return false;
    }
    float percFinish=0;
    wxDateTime lastProgShow=wxDateTime::UNow();
    while(process->IsRunning())
    {
        hasOutput=true;
        wxMilliSleep(50);
        while(hasOutput) //&& (!progDialog || progDialog->Update(percFinish*100))
        {
            process->LogOutput(hasOutput,labelOutput,&percFinish);
        }
        if(wxDateTime::UNow().GetValue()-lastProgShow.GetValue()>500)
        {
            lastProgShow=wxDateTime::UNow();
            if(parent)
                parent->Update();
            if(percFinish>99.f)
                percFinish=99;
            if(progDialog && !progDialog->Update(percFinish*100))
            {
                wxKillError killerror=wxProcess::Kill(processId,wxSIGKILL);
                wxLogInfo(_("Execution du programme externe annulé."));
                wxLogInfo(_("Réponse du processus :"));
                switch(killerror)
                {
                case wxKILL_OK:              // no error
                    wxLogInfo(_("Pas d'erreur."));
                    break;
                case wxKILL_BAD_SIGNAL:      // no such signal
                    wxLogError(_("Le signal n'existe pas."));
                    break;
                case wxKILL_ACCESS_DENIED:   // permission denied
                    wxLogError(_("Fermeture du processus non autorisée."));
                    break;
                case wxKILL_NO_PROCESS:      // no such process
                    wxLogError(_("Ce processus n'existe pas."));
                    break;
                case wxKILL_ERROR :           // another, unspecified error
                    wxLogError(_("Retour du processus non spécifié"));
                    break;
                default:
                    wxLogError(_("Retour du processus inconnue"));
                    break;
                }
                //Si on supprime le processus maintenant on aura une erreur
                //Si on ne le supprime pas il y a une fuite mémoire
                //delete process;
                return false;
            }
        }
    }
    // On récupère les derniers messages
    wxMilliSleep(150);
    process->LogOutput(hasOutput,labelOutput,&percFinish);
    while(hasOutput)
        process->LogOutput(hasOutput,labelOutput,&percFinish);
    delete process;
    return true;
}
开发者ID:JimmyFarcy,项目名称:I-Simpa,代码行数:81,代码来源:processManager.cpp

示例5: bar

void bar(smart_ptr p) {
  delete p.get(); // expected-note{{Memory is released}}
  p.get()->foo(); // expected-note{{Calling 'smart_ptr::get'}}
}
开发者ID:LegalizeAdulthood,项目名称:clang,代码行数:4,代码来源:dtors.cpp

示例6:

	friend bool operator!= (const smart_ptr &left, nullptr_t)
	{
		return left.get() != nullptr;
	}
开发者ID:yurai007,项目名称:my_shared_ptr,代码行数:4,代码来源:complex_smart_ptr.hpp


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