VAT  3.0
Video Analysis Tool
model_macros.h
1 #ifndef MODEL_MACROS_H
2 #define MODEL_MACROS_H
3 
4 #define ADD_MODEL(model) \
5 ReliabilitySingleModelInterface *ALLOCATE_##model (int buffer_size) { \
6  ReliabilitySingleModelInterface *m = new model(buffer_size); \
7  m->model_name = #model; \
8  return m; }
9 
10 
11 #define ALLOCATE_MODEL(model) ALLOCATE_##model(int buffer_size)
12 
13 #define REGISTER_MODEL(name) \
14 VideoAnalysis::availableModels.insert(#name); \
15 VideoAnalysis::modelConstructor[#name] = &ALLOCATE_##name;
16 
17 #endif // MODULE_MACROS_H