• Main Page
  • Classes
  • Files
  • File List

EvSimObjectCloneFactory.h

00001 #ifndef EvSimObjectCloneFactory_H_
00002 #define EvSimObjectCloneFactory_H_
00003 
00004 #include "EvSimObjectFactory.h"
00005 
00007 template< class T >
00008 class EvSimObjectCloneFactory : public EvSimObjectFactory
00009 {
00010 
00011 public:
00012 
00013     EvSimObjectCloneFactory(T &src) : source(src)
00014     { /* NOOP */ };
00015 
00016     EvSimObjectCloneFactory(void)
00017     { /* NOOP */ };
00018 
00019     virtual ~EvSimObjectCloneFactory()
00020     { /* NOOP */ };
00021 
00022     virtual EvSimObject* create(void) const
00023     {
00024         return new T(source);
00025     };
00026 
00027     virtual EvSimObject* create( RandomEngine *  ) const
00028     {
00029         return new T(source);
00030     };
00031 
00032 protected:
00033     T source;
00034 
00035 };
00036 
00037 #endif /*EvSimObjectCloneFactory_H_*/

Generated on Wed Sep 18 2013 11:25:40 for NEVESIM by  doxygen 1.7.1