aboutsummaryrefslogtreecommitdiff
path: root/common/enum/test.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'common/enum/test.hxx')
-rw-r--r--common/enum/test.hxx29
1 files changed, 26 insertions, 3 deletions
diff --git a/common/enum/test.hxx b/common/enum/test.hxx
index c1609fd..98ff0e9 100644
--- a/common/enum/test.hxx
+++ b/common/enum/test.hxx
@@ -6,6 +6,7 @@
#define TEST_HXX
#include <odb/core.hxx>
+#include <common/config.hxx> // HAVE_CXX11_ENUM
enum color {red, green, blue};
@@ -18,15 +19,37 @@ struct object
color color_;
enum taste {bitter, sweet, sour};
taste taste_;
+
+ enum position {left = -1, center = 0, right = 1};
+ position position_;
+
+
+#ifdef HAVE_CXX11_ENUM
+ enum class gender {male, female};
+ enum class scale: unsigned char {one = 1, ten = 10, hundred = 100};
+ enum class yesno: bool {no, yes};
+
+ gender gender_;
+ scale scale_;
+ yesno yesno_;
+#endif
+
};
inline bool
operator == (const object& x, const object& y)
{
return
- x.id_ == y.id_ &&
- x.color_ == y.color_ &&
- x.taste_ == y.taste_;
+ x.id_ == y.id_
+ && x.color_ == y.color_
+ && x.taste_ == y.taste_
+ && x.position_ == y.position_
+#ifdef HAVE_CXX11_ENUM
+ && x.gender_ == y.gender_
+ && x.scale_ == y.scale_
+ && x.yesno_ == y.yesno_;
+#endif
+ ;
}
#endif // TEST_HXX