17 #include <pia/platform.h> 20 #include <nn/nn_ErrorResult.h> 32 struct AssertableResultAll
38 static void EnableAssert()
40 m_IsAssertEnable =
true;
46 static void DisableAssert()
48 m_IsAssertEnable =
false;
55 static bool IsAssertEnable()
57 return m_IsAssertEnable;
61 static bool m_IsAssertEnable;
71 template <
int module,
int descriptionBegin>
72 struct AssertableResult
73 :
public ::nn::result::detail::ErrorResultBase<module, descriptionBegin>
74 ,
public ::nn::result::detail::ErrorRange<module, descriptionBegin, descriptionBegin+1>
80 static void EnableAssert()
82 m_IsAssertEnable =
true;
88 static void DisableAssert()
90 m_IsAssertEnable =
false;
97 static bool IsAssertEnable()
99 return (m_IsAssertEnable || AssertableResultAll::IsAssertEnable());
103 static bool m_IsAssertEnable;
107 template <
int TModule,
int TDescription>
108 bool AssertableResult<TModule, TDescription>::m_IsAssertEnable =
false;
115 template <Result::Level TLevel, Result::Summary TSummary, Result::Module TModule,
int TDescription>
116 struct AssertableResult :
public nn::Result::Const<TLevel, TSummary, TModule, TDescription>
122 static void EnableAssert()
124 m_IsAssertEnable =
true;
130 static void DisableAssert()
132 m_IsAssertEnable =
false;
139 static bool IsAssertEnable()
141 return (m_IsAssertEnable || AssertableResultAll::IsAssertEnable());
145 static bool m_IsAssertEnable;
149 template <Result::Level TLevel, Result::Summary TSummary, Result::Module TModule,
int TDescription>
150 bool AssertableResult<TLevel, TSummary, TModule, TDescription>::m_IsAssertEnable =
false;
159 inline int32_t PiaResultGetValue(nn::Result result)
161 return result.GetInnerValueForDebug();
164 inline u32 PiaResultGetValue(nn::Result result)
166 return result.GetValue();
180 const int PiaResultModuleNo = 301;
184 #define PIA_DEFINE_RESULT(name, level, summary, module, description) \ 185 typedef ::nn::pia::AssertableResult<(::nn::pia::PiaResultModuleNo), (description)> name 189 #define PIA_DEFINE_RESULT(name, level, summary, module, description) \ 190 typedef ::nn::pia::AssertableResult<(level), (summary), (module), (description)> name