BuilderContainer.h

Go to the documentation of this file.
00001 // @(#)root/reflex:$Id: BuilderContainer.h 29355 2009-07-06 17:34:05Z axel $
00002 // Author: Axel Naumann, 2009
00003 
00004 // Copyright CERN, CH-1211 Geneva 23, 2004-2009, All rights reserved.
00005 //
00006 // Permission to use, copy, modify, and distribute this software for any
00007 // purpose is hereby granted without fee, provided that this copyright and
00008 // permissions notice appear in all copies and derivatives.
00009 //
00010 // This software is provided "as is" without express or implied warranty.
00011 
00012 #ifndef Reflex_BuilderContainer
00013 #define Reflex_BuilderContainer
00014 
00015 #include "Reflex/Kernel.h"
00016 
00017 namespace Reflex {
00018 class OnDemandBuilder;
00019 
00020 class RFLX_API BuilderContainer {
00021 public:
00022 
00023    BuilderContainer(): fFirst(0) {}
00024    ~BuilderContainer() { Clear(); }
00025 
00026    void Insert(OnDemandBuilder* odb);
00027    void Remove(OnDemandBuilder* odb);
00028    void Clear();
00029 
00030    OnDemandBuilder* First() const { return fFirst; }
00031    bool Empty() const { return !fFirst; }
00032 
00033    void BuildAll();
00034 
00035 private:
00036    OnDemandBuilder* fFirst;
00037 };
00038 } // namespace Reflex
00039 
00040 #endif // Reflex_BuilderContainer

Generated on Tue Jul 5 14:25:51 2011 for ROOT_528-00b_version by  doxygen 1.5.1