Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / effects / inc / renderer / system / FUiEffects_RendererSystemSmartPtrAssertCheckPolicy.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file       FUiEffects_RendererSystemSmartPtrAssertCheckPolicy.h
20  * @brief      The SmartPtrAssertCheckPolicy template
21  *
22  */
23
24 #ifndef _FUI_EFFECTS_INTERNAL_RENDERER_SYSTEM_SMARTPTR_ASSERT_CHECK_POLICY_H_
25 #define _FUI_EFFECTS_INTERNAL_RENDERER_SYSTEM_SMARTPTR_ASSERT_CHECK_POLICY_H_
26
27 #include <assert.h>
28
29 #include <renderer/system/FUiEffects_RendererSystemSmartPtrNoCheckPolicy.h>
30
31 namespace Tizen { namespace Ui { namespace Effects { namespace _Renderer { namespace System
32 {
33 /**
34  *  \brief SmartPtrAssertCheckPolicy
35  */
36 template <typename ValueType>
37 class SmartPtrAssertCheckPolicy
38 {
39 public:
40         SmartPtrAssertCheckPolicy(void);
41
42         template <typename ValueType1>
43         SmartPtrAssertCheckPolicy(const SmartPtrAssertCheckPolicy<ValueType1>& smartPtrAssertCheckPolicy);
44
45         template <typename ValueType1>
46         SmartPtrAssertCheckPolicy(const SmartPtrNoCheckPolicy<ValueType1>& smartPtrNoCheckPolicy);
47
48         static inline void OnDefault(const ValueType& value);
49         static inline void OnInit(const ValueType& value);
50         static inline void OnDereference(const ValueType value);
51         static inline void Swap(SmartPtrAssertCheckPolicy& smartPtrAssertCheckPolicy);
52 };
53
54 template <typename ValueType>
55 SmartPtrAssertCheckPolicy<ValueType>::SmartPtrAssertCheckPolicy(void)
56 {
57
58 }
59
60 template <typename ValueType>
61 template <typename ValueType1>
62 SmartPtrAssertCheckPolicy<ValueType>::SmartPtrAssertCheckPolicy(const SmartPtrAssertCheckPolicy<ValueType1>& smartPtrAssertCheckPolicy)
63 {
64
65 }
66
67 template <typename ValueType>
68 template <typename ValueType1>
69 SmartPtrAssertCheckPolicy<ValueType>::SmartPtrAssertCheckPolicy(const SmartPtrNoCheckPolicy<ValueType1>& smartPtrNoCheckPolicy)
70 {
71
72 }
73
74 template <typename ValueType>
75 void SmartPtrAssertCheckPolicy<ValueType>::OnDefault(const ValueType& value)
76 {
77
78 }
79
80 template <typename ValueType>
81 void SmartPtrAssertCheckPolicy<ValueType>::OnInit(const ValueType& value)
82 {
83
84 }
85
86 template <typename ValueType>
87 void SmartPtrAssertCheckPolicy<ValueType>::OnDereference(const ValueType value)
88 {
89         assert(value);
90 }
91
92 template <typename ValueType>
93 void SmartPtrAssertCheckPolicy<ValueType>::Swap(SmartPtrAssertCheckPolicy& smartPtrAssertCheckPolicy)
94 {
95
96 }
97
98 }}}}} //Tizen::Ui::Effects::_Renderer::System
99
100 #endif //_FUI_EFFECTS_INTERNAL_RENDERER_SYSTEM_SMARTPTR_ASSERT_CHECK_POLICY_H_