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

📄 scopename.h

📁 cint...昨天看到有个c++解释器,叫CINT,down下来一用,很爽,推荐大家也去看一看。 相信不少朋友们早就知道这个东西了
💻 H
字号:
// @(#)root/reflex:$Name:  $:$Id: ScopeName.h,v 1.3 2006/09/05 17:13:14 roiser Exp $// Author: Stefan Roiser 2004// Copyright CERN, CH-1211 Geneva 23, 2004-2006, All rights reserved.//// Permission to use, copy, modify, and distribute this software for any// purpose is hereby granted without fee, provided that this copyright and// permissions notice appear in all copies and derivatives.//// This software is provided "as is" without express or implied warranty.#ifndef ROOT_Reflex_ScopeName#define ROOT_Reflex_ScopeName// Include files#include "Reflex/Kernel.h"#include <string>namespace ROOT {   namespace Reflex {      // forward declarations      class ScopeBase;      class Scope;      /**       * @class ScopeName ScopeName.h Reflex/ScopeName.h       * @author Stefan Roiser       * @date 24/11/2003       * @ingroup Ref       */      class RFLX_API ScopeName {         friend class Scope;         friend class ScopeBase;      public:         /** constructor */         ScopeName( const char * name,                     ScopeBase * scopeBase );         /**          * ByName will return a pointer to a At which is given as an argument          * or 0 if none is found          * @param  Name fully qualified Name of At          * @return pointer to At or 0 if none is found          */         static const Scope & ByName( const std::string & name );         static void CleanUp();         /**          * DeleteScope will call the destructor of the ScopeBase this ScopeName is          * pointing to and aremove it's information from the data structures. The          * ScopeName information will remain.          */         void DeleteScope() const;         void HideName();         /**          * Name will return a string representation of Name of the Scope          * @return string representation of the Scope          */         const std::string & Name() const;         /**          * Name_c_str returns a char* pointer to the unqualified Scope Name          * @return c string to unqualified Scope Name          */         const char * Name_c_str() const;                     /**           * ThisScope will return the unqualified Scope object of this ScopeName          * @return corresponding Scope          */         const Scope & ThisScope() const;         /**          * ScopeAt will return the nth defined scope          * @param  nth scope defined in the system          * @return nth scope defined in the system          */         static const Scope & ScopeAt( size_t nth );         /**          * ScopeSize will return the number of currently defined scopes          * (resolved and unresolved ones)          * @return number of currently defined scopes          */         static size_t ScopeSize();         static Scope_Iterator Scope_Begin();         static Scope_Iterator Scope_End();         static Reverse_Scope_Iterator Scope_RBegin();         static Reverse_Scope_Iterator Scope_REnd();      private:         /** destructor */         ~ScopeName();      private:         /** pointer to the Name of the At in the static map */         std::string fName;         /**          * pointer to the resolved Scope          * @label scope base          * @link aggregation          * @supplierCardinality 0..1          * @clientCardinality 1          */         mutable            ScopeBase * fScopeBase;         /**          * This scope          */         Scope * fThisScope;      }; // class ScopeName   } // namespace Reflex} // namespace ROOT//-------------------------------------------------------------------------------inline const std::string & ROOT::Reflex::ScopeName::Name() const {//-------------------------------------------------------------------------------   return fName;}//-------------------------------------------------------------------------------inline const char * ROOT::Reflex::ScopeName::Name_c_str() const {//-------------------------------------------------------------------------------   return fName.c_str();}#endif //ROOT_Reflex_ScopeName

⌨️ 快捷键说明

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