DVar_Field.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "DVarSystem.hpp"
5 
6 namespace iv
7 {
8 
11 template< class Type >
12 class DVar_Field : public Field< Type >, private DVarListenerI
13 {
14 public:
16  DVar_Field( Instance * inst, DVarIdT< Type > id );
17  ~DVar_Field();
18 
19  Instance * instance() const;
20 
21 private:
22  // DVarListenerI
23  virtual void on_dvar_changed( DVarId id, std::type_index type, void * value ) override;
24 
25  // Field< Type >
26  virtual void OnChanged( bool real ) override;
27 
28 private:
29  Instance * inst;
30  DVarIdT< Type > id;
31 };
32 
33 }
34 
35 #include "DVar_Field.inl"