Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Frm_Manager.h
Go to the documentation of this file.
1 // FRM_Manager.h
3 // templated manager
4 //
6 
7 #ifndef FRM_MANAGER_H
8 #define FRM_MANAGER_H
9 
10 #include "framework\frm_types.h"
11 #include <vector>
12 
13 namespace Frm {
14 template <class T>
15 class Manager {
16  public:
17  Manager(void){};
18  void SetSize(uint16 pMaxSize){_Ts.reserve(pMaxSize);};
19  virtual ~Manager(void){while(!_Ts.empty())_Ts.pop_back();}; //redefine the destructor for each manager created
20  inline uint16 Add(T &pT){_Ts.push_back(pT); return (uint16)_Ts.size();};
21  inline bool Set(uint16 pID, T pT){if (_Ts[pID]!=0) return false; _Ts[pID] = pT; return true;};
22  inline T Remove(uint16 pID){T temp = _Ts[pID]; _Ts[pID] = 0; return temp;};
23  inline T Get(uint16 pID){return _Ts[pID];};
24  uint16 Size(void){return (uint16)_Ts.size();};
25  const T operator[](uint16 pID){return _Ts[pID];};
26 // T& operator[](uint16 pID)const{return _Ts[pID];};
27  protected:
28  std::vector<T> _Ts;
29 };
30 };
31 #endif
Definition: Frm_Manager.h:15
T Remove(uint16 pID)
Definition: Frm_Manager.h:22
virtual ~Manager(void)
Definition: Frm_Manager.h:19
bool Set(uint16 pID, T pT)
Definition: Frm_Manager.h:21
uint16 Size(void)
Definition: Frm_Manager.h:24
Manager(void)
Definition: Frm_Manager.h:17
std::vector< T > _Ts
Definition: Frm_Manager.h:25
T Get(uint16 pID)
Definition: Frm_Manager.h:23
uint16 Add(T &pT)
Definition: Frm_Manager.h:20
void SetSize(uint16 pMaxSize)
Definition: Frm_Manager.h:18
const T operator[](uint16 pID)
Definition: Frm_Manager.h:25
Definition: Frm.h:12
unsigned short int uint16
Definition: Frm_types.h:14