00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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 }
00039
00040 #endif // Reflex_BuilderContainer