diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-04-18 18:50:04 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-04-18 18:50:04 +0200 |
commit | e305857bd0bd406ab91d31aaea0c1491d6e36b50 (patch) | |
tree | 6110c686f0baa08ddc970d18903d91de595aa475 /common/enum/test.hxx | |
parent | 2f0038a2aed44ce04200c09229921ae21861ccaa (diff) |
Implement automatic mapping for C++ enums
Diffstat (limited to 'common/enum/test.hxx')
-rw-r--r-- | common/enum/test.hxx | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/common/enum/test.hxx b/common/enum/test.hxx new file mode 100644 index 0000000..bb264d5 --- /dev/null +++ b/common/enum/test.hxx @@ -0,0 +1,33 @@ +// file : common/enum/test.hxx +// author : Boris Kolpackov <boris@codesynthesis.com> +// copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef TEST_HXX +#define TEST_HXX + +#include <odb/core.hxx> + +enum color {red, green, blue}; + +#pragma db object +struct object +{ + #pragma db id auto + unsigned long id_; + + color color_; + enum taste {bitter, sweet, sour}; + taste taste_; +}; + +inline bool +operator == (const object& x, const object& y) +{ + return + x.id_ == y.id_ && + x.color_ == y.color_ && + x.taste_ == y.taste_; +} + +#endif // TEST_HXX |