DVarCloner.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "DVarListener.hpp"
4 #include "DVarId.hpp"
6 
7 namespace iv
8 {
9 
13 template< class T >
14 class DVarCloner : private DVarListenerI
15 {
16 private:
17 ClientMarker cm;
18 
19  DVarCloner( Instance * inst, DVarIdT< T > source, DVarIdT< T > target );
20  ~DVarCloner();
21 
22  Instance * instance();
23 
24 private:
25  virtual void on_dvar_changed( DVarId id, std::type_index type, void * value ) override;
26 
27 private:
28  Instance * inst;
29  DVarSystem * dvs;
30  DVarIdT< T > source;
31  DVarIdT< T > target;
32 };
33 
34 }
35 
36 #include "DVarCloner.inl"