Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_core
Attribute
Fields
PrivField.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "../Field.hpp"
4
5
namespace
iv
6
{
7
8
template
<
class
T >
9
class
PrivField
;
10
11
//==================== PrivField_Owner =================================
12
template
<
class
T >
13
class
PrivField_Owner
14
{
15
public
:
16
virtual
void
Field_OnChanged
(
Field< T >
* field,
bool
real ){}
17
18
protected
:
19
void
Field_Modify
(
PrivField< T >
* field, T
const
& );
20
};
21
22
23
//==================== LField_RW =================================
24
template
<
class
T >
25
class
PrivField :
public
Field< T >
26
{
27
public
:
28
friend
class
PrivField_Owner
< T >;
29
30
PrivField
(
Instance
* inst,
PrivField_Owner< T >
* impl );
31
32
protected
:
33
void
Modify
( T
const
& );
34
35
protected
:
36
virtual
void
OnChanged
(
bool
real )
override
;
37
38
private
:
39
PrivField_Owner< T >
* impl;
40
};
41
42
}
43
44
#include "
PrivField.inl
"