inline bool operator==(const Result_t& rhs) const { return value == rhs.value; }
inline bool operator!=(const Result_t& rhs) const { return value != rhs.value; }
- inline bool Success() { return ( value >= 0 ); }
- inline bool Failure() { return ( value < 0 ); }
+ inline bool Success() const { return ( value >= 0 ); }
+ inline bool Failure() const { return ( value < 0 ); }
- inline long Value() { return value; }
+ inline long Value() const { return value; }
inline operator long() const { return value; }
- inline const char* Label() { return label; }
+ inline const char* Label() const { return label; }
inline operator const char*() const { return label; }
};
return Kumu::RESULT_NULL_STR; \
}
+namespace Kumu
+{
+ // simple tracing mechanism
+ class DTrace_t
+ {
+ DTrace_t();
+
+ protected:
+ const char* m_Label;
+ Result_t* m_Watch;
+ int m_Line;
+ const char* m_File;
+ int m_Sequence;
+
+ public:
+ DTrace_t(const char* Label, Result_t* Watch, int Line, const char* File);
+ ~DTrace_t();
+ };
+}
+
+#ifdef KM_TRACE
+#define WDTRACE(l) DTrace_t __wl__Trace__((l), 0, __LINE__, __FILE__)
+#define WDTRACER(l,r) DTrace_t __wl__Trace__((l), &(r), __LINE__, __FILE__)
+#else
+#define WDTRACE(l)
+#define WDTRACER(l,r)
+#endif
+
+
#endif // _KM_ERROR_H_
//