From 5590b37e8c46cf4a37d9fb6ff30a39e1db923060 Mon Sep 17 00:00:00 2001 From: cxl Date: Tue, 11 Nov 2014 12:23:40 +0000 Subject: [PATCH] Sql: operator*=(ValueMap&, ..) git-svn-id: svn://ultimatepp.org/upp/trunk@7883 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/CtrlCore.h | 2 +- uppsrc/Sql/Sql.cpp | 9 +++++++++ uppsrc/Sql/Sqls.h | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/uppsrc/CtrlCore/CtrlCore.h b/uppsrc/CtrlCore/CtrlCore.h index 4cc9d9283..562e2e462 100644 --- a/uppsrc/CtrlCore/CtrlCore.h +++ b/uppsrc/CtrlCore/CtrlCore.h @@ -381,7 +381,7 @@ public: Logc() { data = 0xffffffff; } }; - struct LogPos { + struct LogPos : Moveable { Logc x, y; bool operator==(LogPos b) const { return x == b.x && y == b.y; } diff --git a/uppsrc/Sql/Sql.cpp b/uppsrc/Sql/Sql.cpp index 3cc056a2d..49d420e42 100644 --- a/uppsrc/Sql/Sql.cpp +++ b/uppsrc/Sql/Sql.cpp @@ -704,4 +704,13 @@ SqlR::SqlR(const SqlStatement& s) #endif +void operator*=(ValueMap& map, SqlSelect select) +{ + map.Clear(); + Sql sql; + sql * select; + while(sql.Fetch()) + map.Add(sql[0], sql[1]); +} + END_UPP_NAMESPACE diff --git a/uppsrc/Sql/Sqls.h b/uppsrc/Sql/Sqls.h index 7bc5f564a..b3ed6a211 100644 --- a/uppsrc/Sql/Sqls.h +++ b/uppsrc/Sql/Sqls.h @@ -524,6 +524,8 @@ void SqlLoadColumn(T& t, SqlSelect select) t.Add(sql[0], sql[1]); } +void operator*=(ValueMap& map, SqlSelect select); + template void operator*=(VectorMap& map, SqlSelect select) {