summaryrefslogtreecommitdiff
path: root/odb/semantics/relational/deferrable.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/semantics/relational/deferrable.hxx')
-rw-r--r--odb/semantics/relational/deferrable.hxx42
1 files changed, 42 insertions, 0 deletions
diff --git a/odb/semantics/relational/deferrable.hxx b/odb/semantics/relational/deferrable.hxx
new file mode 100644
index 0000000..87d696c
--- /dev/null
+++ b/odb/semantics/relational/deferrable.hxx
@@ -0,0 +1,42 @@
+// file : odb/semantics/relational/deferrable.hxx
+// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
+// license : GNU GPL v3; see accompanying LICENSE file
+
+#ifndef ODB_SEMANTICS_RELATIONAL_DEFERRABLE_HXX
+#define ODB_SEMANTICS_RELATIONAL_DEFERRABLE_HXX
+
+#include <string>
+#include <iosfwd>
+
+namespace semantics
+{
+ namespace relational
+ {
+ struct deferrable
+ {
+ enum value
+ {
+ not_deferrable,
+ immediate,
+ deferred
+ };
+
+ deferrable (value v = value (0)) : v_ (v) {}
+ operator value () const {return v_;}
+
+ std::string
+ string () const;
+
+ private:
+ value v_;
+ };
+
+ std::ostream&
+ operator<< (std::ostream&, deferrable const&);
+
+ std::istream&
+ operator>> (std::istream&, deferrable&);
+ }
+}
+
+#endif // ODB_SEMANTICS_RELATIONAL_DEFERRABLE_HXX