aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-02-06 09:14:47 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-02-06 09:14:47 +0200
commitd7318daf46ac3539f6f7651f99cc75921ffa4a37 (patch)
treede37f2078942db8be823cde0f2148c296815b717
parenta44bbf24decdaee9bd8c716dc6843b4b4c6c7ec5 (diff)
Add support for persisting std::deque
-rw-r--r--common/container/basics/driver.cxx18
-rw-r--r--common/container/basics/test.hxx8
2 files changed, 26 insertions, 0 deletions
diff --git a/common/container/basics/driver.cxx b/common/container/basics/driver.cxx
index b880b56..cb3ae92 100644
--- a/common/container/basics/driver.cxx
+++ b/common/container/basics/driver.cxx
@@ -81,6 +81,11 @@ main (int argc, char* argv[])
med.sl.push_back ("aaa");
med.sl.push_back ("bbbb");
+ // deque
+ //
+ med.nd.push_back (123);
+ med.nd.push_back (234);
+
// set
//
med.ns.insert (123);
@@ -189,6 +194,12 @@ main (int argc, char* argv[])
full.sl.push_back ("bbbbb");
full.sl.push_back ("cccccc");
+ // deque
+ //
+ full.nd.push_back (1234);
+ full.nd.push_back (2345);
+ full.nd.push_back (3456);
+
// set
//
full.ns.insert (1234);
@@ -319,6 +330,7 @@ main (int argc, char* argv[])
empty.cv.push_back (comp (12, "aa"));
empty.uv.push_back (12);
empty.sl.push_back ("aa");
+ empty.nd.push_back (12);
empty.ns.insert (12);
empty.ss.insert ("aa");
@@ -358,6 +370,8 @@ main (int argc, char* argv[])
med.sl.clear ();
+ med.nd.clear ();
+
med.ns.clear ();
med.ss.clear ();
med.cs.clear ();
@@ -409,6 +423,10 @@ main (int argc, char* argv[])
full.sl.back () += "c";
full.sl.push_back ("ddddddd");
+ // deque
+ //
+ full.nd.push_front (456);
+
// set
//
full.ns.insert (4567);
diff --git a/common/container/basics/test.hxx b/common/container/basics/test.hxx
index 517da0a..ca167ab 100644
--- a/common/container/basics/test.hxx
+++ b/common/container/basics/test.hxx
@@ -11,6 +11,7 @@
#include <set>
#include <list>
#include <vector>
+#include <deque>
#include <string>
#ifdef HAVE_CXX11
@@ -52,6 +53,7 @@ operator< (const comp& x, const comp& y)
}
typedef std::list<std::string> str_list;
+typedef std::deque<int> num_deque;
typedef std::vector<int> num_vector;
typedef std::vector<std::string> str_vector;
@@ -144,6 +146,10 @@ struct object
#pragma db transient
str_list& sl;
+ // deque
+ //
+ num_deque nd;
+
// set
//
num_set ns;
@@ -234,6 +240,8 @@ operator== (const object& x, const object& y)
x.sl == y.sl &&
+ x.nd == y.nd &&
+
x.ns == y.ns &&
x.ss == y.ss &&
x.cs == y.cs &&