2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 // http://floralicense.org/license/
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.
19 * @file FUiEffects_RendererSystemSmartPtrAssertCheckPolicy.h
20 * @brief The SmartPtrAssertCheckPolicy template
24 #ifndef _FUI_EFFECTS_INTERNAL_RENDERER_SYSTEM_SMARTPTR_ASSERT_CHECK_POLICY_H_
25 #define _FUI_EFFECTS_INTERNAL_RENDERER_SYSTEM_SMARTPTR_ASSERT_CHECK_POLICY_H_
29 #include <renderer/system/FUiEffects_RendererSystemSmartPtrNoCheckPolicy.h>
31 namespace Tizen { namespace Ui { namespace Effects { namespace _Renderer { namespace System
34 * \brief SmartPtrAssertCheckPolicy
36 template <typename ValueType>
37 class SmartPtrAssertCheckPolicy
40 SmartPtrAssertCheckPolicy(void);
42 template <typename ValueType1>
43 SmartPtrAssertCheckPolicy(const SmartPtrAssertCheckPolicy<ValueType1>& smartPtrAssertCheckPolicy);
45 template <typename ValueType1>
46 SmartPtrAssertCheckPolicy(const SmartPtrNoCheckPolicy<ValueType1>& smartPtrNoCheckPolicy);
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);
54 template <typename ValueType>
55 SmartPtrAssertCheckPolicy<ValueType>::SmartPtrAssertCheckPolicy(void)
60 template <typename ValueType>
61 template <typename ValueType1>
62 SmartPtrAssertCheckPolicy<ValueType>::SmartPtrAssertCheckPolicy(const SmartPtrAssertCheckPolicy<ValueType1>& smartPtrAssertCheckPolicy)
67 template <typename ValueType>
68 template <typename ValueType1>
69 SmartPtrAssertCheckPolicy<ValueType>::SmartPtrAssertCheckPolicy(const SmartPtrNoCheckPolicy<ValueType1>& smartPtrNoCheckPolicy)
74 template <typename ValueType>
75 void SmartPtrAssertCheckPolicy<ValueType>::OnDefault(const ValueType& value)
80 template <typename ValueType>
81 void SmartPtrAssertCheckPolicy<ValueType>::OnInit(const ValueType& value)
86 template <typename ValueType>
87 void SmartPtrAssertCheckPolicy<ValueType>::OnDereference(const ValueType value)
92 template <typename ValueType>
93 void SmartPtrAssertCheckPolicy<ValueType>::Swap(SmartPtrAssertCheckPolicy& smartPtrAssertCheckPolicy)
98 }}}}} //Tizen::Ui::Effects::_Renderer::System
100 #endif //_FUI_EFFECTS_INTERNAL_RENDERER_SYSTEM_SMARTPTR_ASSERT_CHECK_POLICY_H_