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

📄 variablebuilder.h

📁 cint...昨天看到有个c++解释器,叫CINT,down下来一用,很爽,推荐大家也去看一看。 相信不少朋友们早就知道这个东西了
💻 H
字号:
// @(#)root/reflex:$Name:  $:$Id: VariableBuilder.h,v 1.8 2006/07/05 07:09:09 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_VariableBuilder#define ROOT_Reflex_VariableBuilder// Include files#include "Reflex/Reflex.h"#include "Reflex/Builder/TypeBuilder.h"namespace ROOT {   namespace Reflex {      // forward declarations          /** @class VariableBuilder VariableBuilder.h Reflex/Builder/VariableBuilder.h       *  @author Stefan Roiser       *  @date 6/4/2005       *  @ingroup RefBld       */      class RFLX_API VariableBuilder {      public:         /** constructor */         VariableBuilder( const char * nam,                          const Type & typ,                          size_t offs,                          unsigned int modifiers = 0 );         /** destructor */         virtual ~VariableBuilder();         /**           * AddProperty will add a PropertyNth           * @param  key the PropertyNth key          * @param  value the value of the PropertyNth          * @return a reference to the building class          */         VariableBuilder & AddProperty( const char * key,                                         Any value );         VariableBuilder & AddProperty( const char * key,                                        const char * value );      private:         /** function MemberAt */         Member fDataMember;      }; // class VariableBuilder      /**        * @class VariableBuilderImpl VariableBuilder.h Reflex/Builder/VariableBuilder.h       * @author Stefan Roiser       * @date 6/4/2005       * @ingroup RefBld       */      class RFLX_API VariableBuilderImpl {      public:         /** constructor */         VariableBuilderImpl( const char * nam,                              const Type & typ,                              size_t offs,                              unsigned int modifiers = 0 );         /** destructor */         ~VariableBuilderImpl();         /** AddProperty will add a PropertyNth           * @param  key the PropertyNth key          * @param  value the value of the PropertyNth          * @return a reference to the building class          */         void AddProperty( const char * key,                            Any value );         void AddProperty( const char * key,                            const char * value );         /** string containing the union information */         Member fDataMember;      }; // class VariableBuilder      /**        * @class VariableBuilderT VariableBuilder.h Reflex/Builder/VariableBuilder.h       * @author Stefan Roiser       * @date 6/4/2005       * @ingroup RefBld       */      template < typename D > class VariableBuilderT {      public:         /** constructor */         VariableBuilderT( const char * nam,                           size_t offs,                           unsigned int modifiers = 0 );         /** destructor */         virtual ~VariableBuilderT() {}               /**           * AddProperty will add a PropertyNth           * @param  key the PropertyNth key          * @param  value the value of the PropertyNth          * @return a reference to the building class          */         template < typename P >            VariableBuilderT & AddProperty( const char * key, P value );      private:         /** data MemberAt builder implementation */         VariableBuilderImpl fDataMemberBuilderImpl;          }; // class VariableBuilderT   } // namespace Reflex} // namespace ROOT//-------------------------------------------------------------------------------template < typename D > inline ROOT::Reflex::VariableBuilderT<D>::VariableBuilderT( const char * nam,                                                            size_t offs,                                                            unsigned int modifiers ) //-------------------------------------------------------------------------------   : fDataMemberBuilderImpl( nam,                             TypeDistiller<D>::Get(),                             offs,                             modifiers ) {}//-------------------------------------------------------------------------------template < typename D > template < typename P >inline ROOT::Reflex::VariableBuilderT<D> &ROOT::Reflex::VariableBuilderT<D>::AddProperty( const char * key,                                                 P value ) {//-------------------------------------------------------------------------------   fDataMemberBuilderImpl.AddProperty(key, value);   return * this;}#endif // ROOT_Reflex_VariableBuilder

⌨️ 快捷键说明

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