00001 #ifndef Fireworks_Core_FWParameterizable_h 00002 #define Fireworks_Core_FWParameterizable_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Core 00006 // Class : FWParameterizable 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Sat Feb 23 13:35:23 EST 2008 00019 // $Id: FWParameterizable.h,v 1.3 2009/01/23 21:35:41 amraktad Exp $ 00020 // 00021 00022 // system include files 00023 #include <vector> 00024 00025 // user include files 00026 00027 // forward declarations 00028 class FWParameterBase; 00029 00030 class FWParameterizable 00031 { 00032 00033 public: 00034 FWParameterizable(); 00035 virtual ~FWParameterizable(); 00036 00037 typedef std::vector<FWParameterBase* >::const_iterator const_iterator; 00038 // ---------- const member functions --------------------- 00039 const_iterator begin() const { 00040 return m_parameters.begin(); 00041 } 00042 00043 const_iterator end() const { 00044 return m_parameters.end(); 00045 } 00046 00047 // ---------- static member functions -------------------- 00048 00049 // ---------- member functions --------------------------- 00050 //base class implementation does not take ownership of added parameters 00051 void add(FWParameterBase*); 00052 00053 private: 00054 FWParameterizable(const FWParameterizable&); // stop default 00055 00056 const FWParameterizable& operator=(const FWParameterizable&); // stop default 00057 00058 // ---------- member data -------------------------------- 00059 std::vector<FWParameterBase* > m_parameters; 00060 }; 00061 00062 00063 #endif