aboutsummaryrefslogtreecommitdiff
path: root/odb/std-set-traits.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-02-29 17:50:01 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-02-29 17:50:01 +0200
commit6e9f54c33dd67b629ec2a31cadd6815a651f70f5 (patch)
tree2f54ab9b409afc6017fc87210ab53ab642b15840 /odb/std-set-traits.hxx
parentd8bfbd451d14b7891b43e88541704f69fe8ccd33 (diff)
Use move instead of copy in container traits if C++11 is available
Diffstat (limited to 'odb/std-set-traits.hxx')
-rw-r--r--odb/std-set-traits.hxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/odb/std-set-traits.hxx b/odb/std-set-traits.hxx
index a4a5923..e6b4853 100644
--- a/odb/std-set-traits.hxx
+++ b/odb/std-set-traits.hxx
@@ -8,8 +8,10 @@
#include <odb/pre.hxx>
#include <set>
+#include <utility> // std::move
#include <odb/container-traits.hxx>
+#include <odb/details/config.hxx> // ODB_CXX11
namespace odb
{
@@ -42,7 +44,11 @@ namespace odb
{
value_type v;
more = f.load_all (v);
+#ifdef ODB_CXX11
+ c.insert (std::move (v));
+#else
c.insert (v);
+#endif
}
}
@@ -96,7 +102,11 @@ namespace odb
{
value_type v;
more = f.load_all (v);
+#ifdef ODB_CXX11
+ c.insert (std::move (v));
+#else
c.insert (v);
+#endif
}
}