Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_core
Attribute
Attributes
SharedAttr.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "../Attribute.hpp"
4
5
namespace
iv
6
{
7
12
template
<
class
T >
13
class
SharedAttr_I
:
public
Attr
< T >
14
{
15
public
:
16
SharedAttr_I
(
ClientMarker
* cm,
AttributeEventProcessor
*, T
const
& initial_value = T() );
17
18
protected
:
19
virtual
void
GetSourceValue
( T & out )
const override
;
20
virtual
void
ModifySource
( T
const
& )
override
;
21
22
private
:
23
T value;
24
};
25
29
template
<
class
T >
30
class
SharedAttr
final :
private
Local_AEP
,
public
SharedAttr_I
< T >
31
{
32
public
:
33
SharedAttr
(
ClientMarker
* cm, T
const
& initial_value = T() );
34
~SharedAttr
();
35
};
36
37
}
38
39
#include "
SharedAttr.inl
"