changed the way how we iterate through Models, instead of ModelWrapper now we have Wrapper which has pointers to: model, model container, space or date
This commit is contained in:
49
src/models.h
49
src/models.h
@@ -40,7 +40,7 @@
|
||||
|
||||
#ifdef EZC_HAS_MORM_LIBRARY
|
||||
|
||||
#include "modelwrapper.h"
|
||||
#include "wrapper.h"
|
||||
#include "funinfo.h"
|
||||
#include "space/space.h"
|
||||
|
||||
@@ -62,69 +62,80 @@ public:
|
||||
void Add(const std::wstring & name, pt::Space & space);
|
||||
void Add(const std::wstring & name, pt::Space * space);
|
||||
|
||||
void Add(const std::wstring & name, pt::Date & space);
|
||||
void Add(const std::wstring & name, pt::Date * space);
|
||||
|
||||
template<typename VectorType>
|
||||
void Add(const std::wstring & name, std::vector<VectorType> & container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperVector<VectorType>(&container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperVector<VectorType>(&container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename VectorType>
|
||||
void Add(const std::wstring & name, std::vector<VectorType> * container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperVector<VectorType>(container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperVector<VectorType>(container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename VectorType>
|
||||
void Add(const std::wstring & name, std::vector<VectorType*> & container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperVectorPointer<VectorType>(&container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperVectorPointer<VectorType>(&container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename VectorType>
|
||||
void Add(const std::wstring & name, std::vector<VectorType*> * container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperVectorPointer<VectorType>(container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperVectorPointer<VectorType>(container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename ListType>
|
||||
void Add(const std::wstring & name, std::list<ListType> & container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperList<ListType>(&container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperList<ListType>(&container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename ListType>
|
||||
void Add(const std::wstring & name, std::list<ListType> * container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperList<ListType>(container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperList<ListType>(container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename ListType>
|
||||
void Add(const std::wstring & name, std::list<ListType*> & container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperListPointer<ListType>(&container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperListPointer<ListType>(&container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
template<typename ListType>
|
||||
void Add(const std::wstring & name, std::list<ListType*> * container)
|
||||
{
|
||||
morm::ModelWrapper * model_wrapper = new morm::ModelWrapperListPointer<ListType>(container);
|
||||
models_map[name] = model_wrapper;
|
||||
morm::Wrapper wrapper;
|
||||
wrapper.model_container_wrapper = new morm::ModelWrapperListPointer<ListType>(container);
|
||||
models_map[name] = wrapper;
|
||||
}
|
||||
|
||||
morm::ModelWrapper * Find(const std::wstring & name);
|
||||
morm::Wrapper * Find(const std::wstring & name);
|
||||
void Clear();
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
std::map<std::wstring, morm::ModelWrapper*> models_map;
|
||||
std::map<std::wstring, morm::Wrapper> models_map;
|
||||
|
||||
|
||||
};
|
||||
|
Reference in New Issue
Block a user