From edbe412526f1722fb0538ea2db979296f705847d Mon Sep 17 00:00:00 2001 From: randomdan Date: Tue, 10 Dec 2013 22:29:45 +0000 Subject: Extend container helpers to support different pointer types --- p2pvr/lib/containerCreator.h | 10 ++++++---- p2pvr/lib/sqlContainerCreator.h | 8 ++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/p2pvr/lib/containerCreator.h b/p2pvr/lib/containerCreator.h index da4eced..9804d9b 100644 --- a/p2pvr/lib/containerCreator.h +++ b/p2pvr/lib/containerCreator.h @@ -2,8 +2,10 @@ #define CONTAINERCREATOR_H #include +#include +#include "objectRowState.h" -template +template > class ContainerCreator { public: ContainerCreator(T & c) : container(c) { } @@ -14,13 +16,13 @@ class ContainerCreator { unsigned int columnCount) { while (fetch()) { - auto v = new V; + auto v = P(new V); container.push_back(v); - ObjectRowState> rs; + ObjectRowState

rs; for (unsigned int c = 0; c < columnCount; c++) { rs.fields[c] = get(c); } - UnbindColumns>(rs, v); + UnbindColumns

(rs, v); } } private: diff --git a/p2pvr/lib/sqlContainerCreator.h b/p2pvr/lib/sqlContainerCreator.h index 896a6de..5c8d8f8 100644 --- a/p2pvr/lib/sqlContainerCreator.h +++ b/p2pvr/lib/sqlContainerCreator.h @@ -6,15 +6,15 @@ #include #include -template -class SqlContainerCreator : public ContainerCreator { +template > +class SqlContainerCreator : public ContainerCreator { public: - SqlContainerCreator(T & c) : ContainerCreator(c) { } + SqlContainerCreator(T & c) : ContainerCreator(c) { } void populate(boost::shared_ptr sel) { sel->execute(); - ContainerCreator::populate(boost::bind(&DB::SelectCommand::fetch, sel), [sel](unsigned int c) { + ContainerCreator::populate(boost::bind(&DB::SelectCommand::fetch, sel), [sel](unsigned int c) { HandleAsVariableType h; const DB::Column & col = (*sel)[c]; col.apply(h); -- cgit v1.2.3