[beast/devel: 3/7] GXK: avoid flags enum casting for GxkDialogFlags



commit c34bc791ea2cef0d9a24a46e260b183e8d944306
Author: Tim Janik <timj gnu org>
Date:   Tue Dec 18 20:18:57 2012 +0100

    GXK: avoid flags enum casting for GxkDialogFlags

 beast-gtk/gxk/gxkdialog.h |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/beast-gtk/gxk/gxkdialog.h b/beast-gtk/gxk/gxkdialog.h
index 036656c..a8b6ac8 100644
--- a/beast-gtk/gxk/gxkdialog.h
+++ b/beast-gtk/gxk/gxkdialog.h
@@ -129,4 +129,13 @@ GtkWidget*	gxk_dialog_action_multi		(GxkDialog	    *dialog,
 
 G_END_DECLS
 
+// == Flags Enumeration Operators in C++ ==
+#ifdef __cplusplus
+inline GxkDialogFlags  operator&  (GxkDialogFlags  s1, GxkDialogFlags s2) { return GxkDialogFlags (s1 & (long long unsigned) s2); }
+inline GxkDialogFlags& operator&= (GxkDialogFlags &s1, GxkDialogFlags s2) { s1 = s1 & s2; return s1; }
+inline GxkDialogFlags  operator|  (GxkDialogFlags  s1, GxkDialogFlags s2) { return GxkDialogFlags (s1 | (long long unsigned) s2); }
+inline GxkDialogFlags& operator|= (GxkDialogFlags &s1, GxkDialogFlags s2) { s1 = s1 | s2; return s1; }
+inline GxkDialogFlags  operator~  (GxkDialogFlags  s1)                    { return GxkDialogFlags (~(long long unsigned) s1); }
+#endif // __cplusplus
+
 #endif  /* __GXK_DIALOG_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]