Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_systems
DVarSystem
DVarCloner.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
DVarListener.hpp
"
4
#include "
DVarId.hpp
"
5
#include <
ivorium_core/ivorium_core.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
"