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 >
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"